Экспорт (0) Печать
Развернуть все
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

String.CompareTo - метод (Object)

Сравнивает данный экземпляр с заданным объектом Object и показывает, расположен ли данный экземпляр перед, после или на той же позиции в порядке сортировки, что и заданный объект Object.

Пространство имен:  System
Сборка:  mscorlib (в mscorlib.dll)

public int CompareTo(
	Object value
)

Параметры

value
Тип: System.Object
Объект, имеющий значение String.

Возвращаемое значение

Тип: System.Int32
32-битовое целое число со знаком, которое показывает, расположен ли данный экземпляр перед, после или на той же позиции в порядке сортировки, что и параметр value.

Значение

Условие

Меньше нуля

Данный экземпляр предшествует параметру value.

Zero

Данный экземпляр имеет ту же позицию в порядке сортировки, что и value.

Больше нуля.

Данный экземпляр стоит после параметра value.

– или –

Параметр value имеет значение null.

Реализации

IComparable.CompareTo(Object)

ИсключениеУсловие
ArgumentException

Параметр value не относится к типу String.

value должен быть объектом String.

Предупреждающее замечаниеВнимание

Метод CompareTo был разработан прежде всего для использования в задачах сортировки или упорядочивания по алфавиту. Он не должен использоваться, если основная цель вызова метода — определить равенство двух строк. Для определения совпадения двух строк следует вызывать метод Equals.

Этот метод выполняет сравнение по словам (с учетом регистра, языка и региональных параметров), используя текущий язык и региональные параметры. Дополнительные сведения о сортировке по словам, строкам и порядковым номерам см. в разделе System.Globalization.CompareOptions.

Дополнительные сведения о поведении этого метода см. в разделе примечаний в описании метода String.Compare(String, String).

Примечания к вызывающим объектам

Наборы символов включают игнорируемые символы. Метод CompareTo не рассматривает такие символы, он выполняет сравнение с учетом языка и региональных параметров. Например, если следующий код выполняется на .NET Framework 4 или более поздней версии, сравнение «animal» с «ani-mal» (используя мягкий дефис, или 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).

В следующем примере показано, как можно использовать метод CompareTo с Object.


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 (клиентский профиль)

Поддерживается в версиях: 4, 3.5 с пакетом обновления 1 (SP1)

Приложения .NET для Windows Phone

Поддерживается в версиях: 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 с пакетом обновления 2 (SP2), Windows Server 2008 (роль основных серверных компонентов не поддерживается), Windows Server 2008 R2 (роль основных серверных компонентов поддерживается в пакете обновления 1 (SP1) или выше; системы на базе Itanium не поддерживаются)

.NET Framework поддерживает не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2015 Microsoft