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

String.CompareTo 方法 (Object)

将此实例与指定的 Object 进行比较,并指示此实例在排序顺序中是位于指定的 Object 之前、之后还是与其出现在同一位置。

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

public int CompareTo(
	Object value
)

参数

value
类型:System.Object
一个对象,其计算结果为 String

返回值

类型:System.Int32
一个 32 位有符号整数,该整数指示此实例在排序顺序中是位于 value 参数之前、之后还是与其出现在同一位置。

条件

小于零

此实例位于 value 之前。

此实例在排序顺序中的位置与 value 相同。

大于零

此实例位于 value 之后。

- 或 -

valuenull

实现

IComparable.CompareTo(Object)

异常条件
ArgumentException

value 不是 String

value 必须为 String 对象。

警告说明警告

CompareTo 方法主要用于排序或按字母顺序排列操作。 如果方法调用的主要目的是确定两个字符串是否相等,则不应使用此方法。 若要确定两个字符串是否相等,请调用 Equals 方法。

此方法使用当前区域性执行单词(区分大小写和区域性)比较。 有关字、字符串和顺序排序的更多信息,请参见 System.Globalization.CompareOptions

有关此方法的行为的更多信息,请参见 String.Compare(String, String) 方法的备注部分。

对调用者的说明

字符集包括可忽略字符。 在执行区分区域性的比较时,CompareTo 方法不考虑这样的字符。 例如,如果下面的代码,在 .NET Framework 4 或更高版本上运行,“动物”进行比较。“的动物”(使用连字符或 U+00AD 悬停) 指示两个字符串相等。


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "ani\u00ADmal";
      object o1 = "animal";

      Console.WriteLine("Comparison of '{0}' and '{1}': {2}", 
                        s1, o1, s1.CompareTo(o1));
   }
}
// The example displays the following output:
//       Comparison of 'ani-mal' and 'animal': 0


若要在字符串比较时识别可忽略字符,请调用 CompareOrdinal(String, String) 方法。

下面的示例演示如何对 Object 使用 CompareTo 方法。


using System;

public class MyClass {}

public class Example 
{
   public static void Main()
   {
      MyClass my = new MyClass();
      string s = "sometext";
      try 
      {
         int i = s.CompareTo(my);
      }
      catch (Exception e) 
      {
         Console.WriteLine("Error: {0}",e.ToString());
      }
   }
}
// The example displays the following output:
//    Error: System.ArgumentException: Object must be of type String.
//       at System.String.CompareTo(Object value)
//       at Example.Main()


.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 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 系统要求

社区附加资源

显示:
© 2014 Microsoft