MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

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

2013/12/13

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

Namespace:  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

因为 CompareOrdinal 为静态方法,strAstrB 可以为 null。如果两个值均为 null,则此方法返回 0(零),指示 strAstrB 相等。如果仅一个值为 null,则此方法将非 null 值视为较大者。

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


using System;
using System.Globalization;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      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";
      outputBlock.Text += String.Format("CompareOrdinal(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos) + "\n";
      outputBlock.Text += String.Format("   '{0}' is {1} '{2}'", strLow[pos], result, strCap[pos]) + "\n";

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


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2016 Microsoft