导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

String.CompareOrdinal 方法 (String, Int32, String, Int32, Int32)

通过计算两个指定的 String 对象的每个子字符串中相应 Char 对象的数值比较子字符串。

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)

public static int CompareOrdinal(
	string strA,
	int indexA,
	string strB,
	int indexB,
	int length
)

参数

strA
类型:System.String
要在比较中使用的第一个字符串。
indexA
类型:System.Int32
strA 中子字符串的起始索引。
strB
类型:System.String
要在比较中使用的第二个字符串。
indexB
类型:System.Int32
strB 中子字符串的起始索引。
length
类型:System.Int32
要比较的子字符串中字符的最大数量。

返回值

类型:System.Int32
一个 32 位带符号整数,指示两个比较数之间的词法关系。

条件

小于零

strA 中的子字符串小于 strB 中的子字符串。

子字符串相等,或者 length 为零。

大于零

strA 中的子字符串大于 strB 中的子字符串。

异常条件
ArgumentOutOfRangeException

strA 不为 null,且 indexA 大于 strALength

- 或 -

strB 不为 null,且 indexB 大于 strBLength

- 或 -

indexAindexBlength 为负。

indexAindexBlength 参数必须为非负数。

所比较的字符数是 strA 的长度减去 indexAstrB 的长度减去 indexBlength 这三者中最小的一个。

此方法使用序号排序规则执行区分大小写的比较。 有关字、字符串和顺序排序的更多信息,请参见 System.Globalization.CompareOptions 若要使用序号排序规则执行不区分大小写的比较,请调用带 OrdinalIgnoreCaseStringComparison 值的 Compare(String, Int32, String, Int32, Int32, StringComparison) 方法。

因为 CompareOrdinal(String, String) 是静态方法,所以 strAstrB 可以为 null 如果这两个值是 null,该方法返回 0 (零),这表明strAstrB 相等。 如果只有其中一个值为 null,则该方法将非空值视为更大。

下面的示例演示 CompareOrdinalCompare 使用不同的排序顺序。


using System;
using System.Globalization;

class Test 
{
	public static void Main(String[] args) 
	{
	String strLow = "abc";
	String strCap = "ABC";
	String result = "equal to ";
	int x = 0;
	int pos = 1;

// The Unicode codepoint for 'b' is greater than the codepoint for 'B'.
	x = String.CompareOrdinal(strLow, pos, strCap, pos, 1);
	if (x < 0) result = "less than";
	if (x > 0) result = "greater than";
	Console.WriteLine("CompareOrdinal(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos);
	Console.WriteLine("   '{0}' is {1} '{2}'", strLow[pos], result, strCap[pos]);

// In U.S. English culture, 'b' is linguistically less than 'B'.
	x = String.Compare(strLow, pos, strCap, pos, 1, false, new CultureInfo("en-US"));
	if (x < 0) result = "less than";
	else if (x > 0) result = "greater than";
	Console.WriteLine("Compare(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos);
	Console.WriteLine("   '{0}' is {1} '{2}'", strLow[pos], result, strCap[pos]);
	}
}


.NET Framework

受以下版本支持:4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

适用于 Windows Phone 应用的 .NET

受以下版本支持:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参阅.NET Framework 系统要求

社区附加资源

添加
显示:
© 2015 Microsoft