次の方法で共有


Tuple<T1,T2,T3,T4,T5,T6>.IComparable.CompareTo(Object) メソッド

定義

現在の Tuple<T1,T2,T3,T4,T5,T6> オブジェクトと指定したオブジェクトを比較して、現在のオブジェクトが、並べ替え順序において、指定したオブジェクトの前後または同じ位置のいずれにあるかを示す整数を返します。

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

パラメーター

obj
Object

現在のインスタンスと比較するオブジェクト。

戻り値

並べ替え順序における、このインスタンスと obj の相対位置を示す符号付き整数値 (次の表を参照)。

説明
負の整数 このインスタンスの位置が obj よりも前です。
ゼロ このインスタンスと obj の位置は、並べ替え順序において同じです。
正の整数 このインスタンスの位置が obj よりも後ろです。

実装

例外

objTuple<T1,T2,T3,T4,T5,T6> オブジェクトではありません。

次のTuple<T1,T2,T3,T4,T5,T6>例では、1960 年から 2000 年までの米国の 3 つの都市の人口データを含む オブジェクトの配列を作成します。 6 つの構成要素は、1960 年から 2000 年までの 10 年間隔で市の人口が続く都市名で構成されています。 この例では、配列内の各タプルのコンポーネントを並べ替えられていない順序で表示し、配列を並べ替えてから、 メソッドを ToString 呼び出して各タプルを並べ替えられた順序で表示します。 出力は、配列が名前で並べ替えられていることを示しています。これは最初のコンポーネントです。 この例では、 メソッドは直接呼び出されないことに IComparable.CompareTo(Object) 注意してください。 このメソッドは、配列内の各要素の Sort(Array) メソッドによって暗黙的に呼び出されます。

using System;

public class Example
{
   public static void Main()
   {
      // Create array of sextuple with population data for three U.S. 
      // cities, 1960-2000.
      Tuple<string, int, int, int, int, int>[] cities = 
          { Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820),
            Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278),  
            Tuple.Create("Chicago", 3550904, 3366957, 3005072, 2783726, 2896016) }; 
      
      // Display array in unsorted order.
      Console.WriteLine("In unsorted order:");
      foreach (var city in cities)
         Console.WriteLine(city.ToString());

      Console.WriteLine();
      
      Array.Sort(cities);
                           
      // Display array in sorted order.
      Console.WriteLine("In sorted order:");
      foreach (var city in cities)
         Console.WriteLine(city.ToString());
   }
}
// The example displays the following output:
//    In unsorted order:
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    
//    In sorted order:
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
open System

// Create array of sextuple with population data for three U.S. 
// cities, 1960-2000.
let cities = 
    [| Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820)
       Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278) 
       Tuple.Create("Chicago", 3550904, 3366957, 3005072, 2783726, 2896016) |]

// Display array in unsorted order.
printfn "In unsorted order:"
for city in cities do
    printfn $"{city}"

printfn ""

Array.Sort cities
                    
// Display array in sorted order.
printfn "In sorted order:"
for city in cities do
    printfn $"{city}"
// The example displays the following output:
//    In unsorted order:
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    
//    In sorted order:
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
Module Example
   Public Sub Main()
      ' Create array of sextuple with population data for three U.S. 
      ' cities, 1960-2000.
      Dim cities() = 
          { Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820),
            Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278),  
            Tuple.Create("Chicago", 3550904, 3366957, 3005072, 2783726, 2896016) } 
      
      ' Display array in unsorted order.
      Console.WriteLine("In unsorted order:")
      For Each city In cities
         Console.WriteLine(city.ToString())
      Next
      Console.WriteLine()
      
      Array.Sort(cities) 
                           
      ' Display array in sorted order.
      Console.WriteLine("In sorted order:")
      For Each city In cities
         Console.WriteLine(city.ToString())
      Next
   End Sub
End Module
' The example displays the following output:
'    In unsorted order:
'    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
'    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
'    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
'    
'    In sorted order:
'    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
'    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
'    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)

注釈

このメンバーは、明示的なインターフェイス メンバーの実装です。 これは、Tuple<T1,T2,T3,T4,T5,T6> のインスタンスが IComparable インターフェイスにキャストされる場合のみ、使用できます。

このメソッドは、 クラスの IComparable.CompareTo 実装を Tuple<T1,T2,T3,T4,T5,T6> 提供します。 メソッドは直接呼び出すことができますが、コレクションのメンバーを並べ替えるために、 や SortedList.AddなどのArray.Sort(Array)コレクション並べ替えメソッドの既定のオーバーロードによって呼び出されるのが最も一般的です。

注意事項

メソッドは IComparable.CompareTo 、並べ替え操作で使用することを目的としています。 比較の主な目的は、2 つのオブジェクトが等しいかどうかを判断する場合には使用しないでください。 2 つのオブジェクトが等しいかどうかを判断するには、 メソッドを呼び出します Tuple<T1,T2,T3,T4,T5,T6>.Equals(Object)

メソッドは IComparable.CompareTo(Object) 、既定のオブジェクト比較子を使用して各コンポーネントを比較します。

適用対象