String.IComparable.CompareTo(Object) メソッド

定義

このインスタンスと指定した Object とを比較し、並べ替え順序において、このインスタンスの位置が指定した Object の前、後ろ、または同じのいずれであるかを示します。Compares this instance with a specified Object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Object.

 virtual int System.IComparable.CompareTo(System::Object ^ value) = IComparable::CompareTo;
int IComparable.CompareTo (object value);
abstract member System.IComparable.CompareTo : obj -> int
override this.System.IComparable.CompareTo : obj -> int
Function CompareTo (value As Object) As Integer Implements IComparable.CompareTo

パラメーター

value
Object

String に評価されるオブジェクト。An object that evaluates to a String.

戻り値

Int32

並べ替え順序において、このインスタンスの位置が value パラメーターよりも前、後ろ、または同じのいずれであるかを示す 32 ビット符号付き整数。A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the value parameter.

[値]Value条件Condition
0 より小さい値Less than zeroこのインスタンスの位置が value よりも前です。This instance precedes value.
ゼロZeroこのインスタンスの位置が、並べ替え順序において value と同じです。This instance has the same position in the sort order as value.
0 より大きい値Greater than zeroこのインスタンスの位置が value よりも後ろであるか、valuenull です。This instance follows value, or value is null.

実装

例外

valueString ではありません。value is not a String.

次の例では、 CompareTo メソッドをと共に使用し Object ます。The following example uses the CompareTo method with an Object. インスタンスをオブジェクトと比較しようとするため、 String TestClass メソッドはをスロー ArgumentException します。Because it attempts to compare a String instance to a TestClass object, the method throws an ArgumentException.

using namespace System;

public ref class TestClass{};

int main()
{
   TestClass^ test = gcnew TestClass;
   array<Object^>^ objectsToCompare = { test, test->ToString(), 123,
                                        (123).ToString(), "some text",
                                        "Some Text" };
   String^ s = "some text";
   for each (Object^ objectToCompare in objectsToCompare) {
      try {
         Int32 i = s->CompareTo(objectToCompare);
         Console::WriteLine("Comparing '{0}' with '{1}': {2}",
                            s, objectToCompare, i);
      }
      catch (ArgumentException^ e) {
         Console::WriteLine("Bad argument: {0} (type {1})",
                            objectToCompare,
                            objectToCompare->GetType()->Name);
      }
   }
}
// The example displays the following output:
//    Bad argument: TestClass (type TestClass)
//    Comparing 'some text' with 'TestClass': -1
//    Bad argument: 123 (type Int32)
//    Comparing 'some text' with '123': 1
//    Comparing 'some text' with 'some text': 0
//    Comparing 'some text' with 'Some Text': -1
using System;

public class TestClass
{}

public class Example
{
   public static void Main()
   {
      var test = new TestClass();
      Object[] objectsToCompare = { test, test.ToString(), 123,
                                    123.ToString(), "some text",
                                    "Some Text" };
      string s = "some text";
      foreach (var objectToCompare in objectsToCompare) {
         try {
            int i = s.CompareTo(objectToCompare);
            Console.WriteLine("Comparing '{0}' with '{1}': {2}",
                              s, objectToCompare, i);
         }
         catch (ArgumentException) {
            Console.WriteLine("Bad argument: {0} (type {1})",
                              objectToCompare,
                              objectToCompare.GetType().Name);
         }
      }
   }
}
// The example displays the following output:
//    Bad argument: TestClass (type TestClass)
//    Comparing 'some text' with 'TestClass': -1
//    Bad argument: 123 (type Int32)
//    Comparing 'some text' with '123': 1
//    Comparing 'some text' with 'some text': 0
//    Comparing 'some text' with 'Some Text': -1
Public Class TestClass
End Class 


Public Class Example
   Public Shared Sub Main()
      Dim test As New TestClass()
      Dim objectsToCompare() As Object = { test, test.ToString(), 123,
                                           123.ToString(), "some text",
                                           "Some Text" }
      Dim s As String = "some text"
      For Each objectToCompare In objectsToCompare
         Try
            Dim i As Integer = s.CompareTo(objectToCompare)
            Console.WriteLine("Comparing '{0}' with '{1}': {2}",
                              s, objectToCompare, i)
         Catch e As ArgumentException
            Console.WriteLine("Bad argument: {0} (type {1})",
                              objectToCompare,
                              objectToCompare.GetType().Name)
         End Try
      Next
   End Sub 
End Class 
' The example displays the following output:
'       Bad argument: TestClass (type TestClass)
'       Comparing 'some text' with 'TestClass': -1
'       Bad argument: 123 (type Int32)
'       Comparing 'some text' with '123': 1
'       Comparing 'some text' with 'some text': 0
'       Comparing 'some text' with 'Some Text': -1

注釈

value はオブジェクトである必要があり String ます。value must be a String object.

注意事項

この CompareTo メソッドは、主に並べ替え操作または alphabetizing 操作で使用するように設計されています。The CompareTo method was designed primarily for use in sorting or alphabetizing operations. 2つの文字列が等価かどうかを判断するために、メソッド呼び出しの主な目的がである場合は、使用しないでください。It should not be used when the primary purpose of the method call is to determine whether two strings are equivalent. 2つの文字列が等しいかどうかを判断するには、メソッドを呼び出し Equals ます。To determine whether two strings are equivalent, call the Equals method.

このメソッドは、現在のカルチャを使用して、単語 (大文字と小文字を区別し、カルチャに依存する) 比較を実行します。This method performs a word (case-sensitive and culture-sensitive) comparison using the current culture. 単語、文字列、および序数の並べ替えの詳細については、「」を参照してください System.Globalization.CompareOptionsFor more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions.

このメソッドの動作の詳細については、メソッドの「解説」を参照してください String.Compare(String, String)For more information about the behavior of this method, see the Remarks section of the String.Compare(String, String) method.

適用対象