Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.IComparable.CompareTo(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトと指定したオブジェクトを比較して、現在のオブジェクトが、並べ替え順序において、指定したオブジェクトの前後または同じ位置のいずれにあるかを示す整数を返します。
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 よりも後ろです。
|
実装
例外
obj
は Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> オブジェクトではありません。
例
次の例では、要素が素数の範囲を含む整数である 8 進数の配列を作成します。 次の使用例は、配列の要素を並べ替えられていない順序で表示し、配列を並べ替え順に表示します。 出力は、配列が並べ替えられたか、タプルの最初のコンポーネントによって Item1並べ替えられたことを示しています。 この例では、メソッドが直接呼び出されないことに IComparable.CompareTo(Object) 注意してください。 このメソッドは、配列内の各要素の Sort(Array) メソッドによって暗黙的に呼び出されます。
using System;
public class Example
{
public static void Main()
{
// Create array of 8-tuple objects containing prime numbers.
Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, Tuple<Int32>>[] primes =
{ new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19)),
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(23, 29, 31, 37, 41, 43, 47, new Tuple<Int32>(55)),
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(3, 2, 5, 7, 11, 13, 17, new Tuple<Int32>(19)) };
// Display 8-tuples in unsorted order.
foreach (var prime in primes)
Console.WriteLine(prime.ToString());
Console.WriteLine();
// Sort the array and display its 8-tuples.
Array.Sort(primes);
foreach (var prime in primes)
Console.WriteLine(prime.ToString());
}
}
// The example displays the following output:
// (2, 3, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
// (3, 2, 5, 7, 11, 13, 17, 19)
//
// (2, 3, 5, 7, 11, 13, 17, 19)
// (3, 2, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
open System
// Create array of 8-tuple objects containing prime numbers.
let primes =
[| new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19))
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(23, 29, 31, 37, 41, 43, 47, new Tuple<Int32>(55))
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(3, 2, 5, 7, 11, 13, 17, new Tuple<Int32>(19)) |]
// Display 8-tuples in unsorted order.
for prime in primes do
printfn $"{prime}"
printfn ""
// Sort the array and display its 8-tuples.
Array.Sort primes
for prime in primes do
printfn $"{prime}"
// The example displays the following output:
// (2, 3, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
// (3, 2, 5, 7, 11, 13, 17, 19)
//
// (2, 3, 5, 7, 11, 13, 17, 19)
// (3, 2, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
Module Example
Public Sub Main()
' Create array of 8-tuple objects containing prime numbers.
Dim primes() = { New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (2, 3, 5, 7, 11, 13, 17,
New Tuple(Of Int32)(19)),
New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (23, 29, 31, 37, 41, 43, 47,
New Tuple(Of Int32)(55)),
New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (3, 2, 5, 7, 11, 13, 17,
New Tuple(Of Int32)(19)) }
' Display 8-tuples in unsorted order.
For Each prime In primes
Console.WriteLine(prime.ToString())
Next
Console.WriteLine()
' Sort the array and display its 8-tuples.
Array.Sort(primes)
For Each prime In primes
Console.WriteLine(prime.ToString())
Next
End Sub
End Module
' The example displays the following output:
' (2, 3, 5, 7, 11, 13, 17, 19)
' (23, 29, 31, 37, 41, 43, 47, 55)
' (3, 2, 5, 7, 11, 13, 17, 19)
'
' (2, 3, 5, 7, 11, 13, 17, 19)
' (3, 2, 5, 7, 11, 13, 17, 19)
' (23, 29, 31, 37, 41, 43, 47, 55)
注釈
このメンバーは、明示的なインターフェイス メンバーの実装です。 これは、Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> のインスタンスが IComparable インターフェイスにキャストされる場合のみ、使用できます。
このメソッドは、クラスの IComparable.CompareTo 実装を Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> 提供します。 メソッドは直接呼び出すことができますが、最も一般的には、コレクションのメンバーを並べ替えるために、 Array.Sort(Array) コレクション SortedList.Add並べ替えメソッドの既定のオーバーロードによって呼び出されます。
注意事項
このメソッドは IComparable.CompareTo 、並べ替え操作で使用することを目的としています。 比較の主な目的が 2 つのオブジェクトが等しいかどうかを判断する場合は使用しないでください。 2 つのオブジェクトが等しいかどうかを判断するには、メソッドを Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Equals(Object) 呼び出します。
このメソッドでは、既定のオブジェクト比較子を使用して各コンポーネントを比較します。