本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

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
Type: System.String

要在比较中使用的第一个字符串。

indexA
Type: System.Int32

strA 中子字符串的起始索引。

strB
Type: System.String

要在比较中使用的第二个字符串。

indexB
Type: System.Int32

strB 中子字符串的起始索引。

length
Type: System.Int32

要比较的子字符串中字符的最大数量。

返回值

Type: System.Int32

一个 32 位带符号整数,指示两个比较数之间的词法关系。

Value

条件

小于零

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

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

大于零

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

Exception Condition
ArgumentOutOfRangeException

strA 不为 null,且 indexA 大于 strA.Length

- 或 -

strB 不为 null,且 indexB 大于 strB.Length

- 或 -

indexAindexBlength 为负数。

indexAindexB,和length参数必须为非负数。

比较的字符数是长度的较小者strA较少indexA的长度strB较少indexB,和length

此方法执行区分大小写的比较使用序号排序规则。 有关 word、 字符串和顺序排序的详细信息,请参阅System.Globalization.CompareOptions 若要执行不区分大小写的比较使用序号排序规则,调用Compare(String, Int32, String, Int32, Int32, StringComparison)方法替换comparisonType参数设置为StringComparison.OrdinalIgnoreCase

因为CompareOrdinal(String, String)是静态方法,strAstrB可以是null 如果两个值都null,该方法返回 0 (零),这指示strAstrB是否相等。 如果只有一个值是null,该方法考虑晚的非 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]);
	}
}

通用 Windows 平台
自 8 起可用
.NET Framework
自 1.1 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
Windows Phone
自 8.1 起可用
返回页首
显示: