Tuple<T1,T2,T3,T4,T5>.IComparable.CompareTo(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の Tuple<T1,T2,T3,T4,T5> オブジェクトと指定したオブジェクトを比較して、現在のオブジェクトが、並べ替え順序において、指定したオブジェクトの前後または同じ位置のいずれにあるかを示す整数を返します。
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> オブジェクトではありません。
例
次の例では、アメリカのプロサッカーで Tuple<T1,T2,T3,T4,T5> バックを実行するためのキャリア統計を含むオブジェクトの配列を作成します。 5つのコンポーネントは、プレイヤーの名前、彼がプレーしたゲームの数、キャリーまたは試行の数、獲得したヤードの合計数、およびスコア付けされたタッチダウンの数で構成されています。 この例では、配列内の各タプルのコンポーネントを並べ替えのない順序で表示し、配列を並べ替え、 を呼び出 ToString して各タプルを並べ替えられた順序で表示します。 出力は、配列が名前で並べ替えられていることを示しています。これは最初のコンポーネントです。 この例では、 メソッドは直接呼び出されないことに IComparable.CompareTo 注意してください。 このメソッドは、配列内の各要素の Sort(Array) メソッドによって暗黙的に呼び出されます。
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
// Organization of runningBacks 5-tuple:
// Component 1: Player name
// Component 2: Number of games played
// Component 3: Number of attempts (carries)
// Component 4: Number of yards gained
// Component 5: Number of touchdowns
Tuple<string, int, int, int, int>[] runningBacks =
{ Tuple.Create("Payton, Walter", 190, 3838, 16726, 110),
Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99),
Tuple.Create("Brown, Jim", 118, 2359, 12312, 106),
Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90),
Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) };
// Display the array in unsorted order.
Console.WriteLine("The values in unsorted order:");
foreach (var runningBack in runningBacks)
Console.WriteLine(runningBack.ToString());
Console.WriteLine();
// Sort the array
Array.Sort(runningBacks);
// Display the array in sorted order.
Console.WriteLine("The values in sorted order:");
foreach (var runningBack in runningBacks)
Console.WriteLine(runningBack.ToString());
}
}
// The example displays the following output:
// The values in unsorted order:
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
//
// The values in sorted order:
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
open System
// Organization of runningBacks 5-tuple:
// Component 1: Player name
// Component 2: Number of games played
// Component 3: Number of attempts (carries)
// Component 4: Number of yards gained
// Component 5: Number of touchdowns
let runningBacks =
[| Tuple.Create("Payton, Walter", 190, 3838, 16726, 110)
Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99)
Tuple.Create("Brown, Jim", 118, 2359, 12312, 106)
Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90)
Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) |]
// Display the array in unsorted order.
printfn "The values in unsorted order:"
for runningBack in runningBacks do
printfn $"{runningBack}"
printfn ""
// Sort the array
Array.Sort runningBacks
// Display the array in sorted order.
printfn "The values in sorted order:"
for runningBack in runningBacks do
printfn $"{runningBack}"
// The example displays the following output:
// The values in unsorted order:
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
//
// The values in sorted order:
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
Imports System.Collections.Generic
Module Example
Public Sub Main()
' Organization of runningBacks 5-tuple:
' Component 1: Player name
' Component 2: Number of games played
' Component 3: Number of attempts (carries)
' Component 4: Number of yards gained
' Component 5: Number of touchdowns
Dim runningBacks() =
{ Tuple.Create("Payton, Walter", 190, 3838, 16726, 110),
Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99),
Tuple.Create("Brown, Jim", 118, 2359, 12312, 106),
Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90),
Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) }
' Display the array in unsorted order.
Console.WriteLine("The values in unsorted order:")
For Each runningBack In runningBacks
Console.WriteLine(runningBack.ToString())
Next
Console.WriteLine()
' Sort the array
Array.Sort(runningBacks)
' Display the array in sorted order.
Console.WriteLine("The values in sorted order:")
For Each runningBack In runningBacks
Console.WriteLine(runningBack.ToString())
Next
End Sub
End Module
' The example displays the following output:
' The values in unsorted order:
' (Payton, Walter, 190, 3838, 16726, 110)
' (Sanders, Barry, 153, 3062, 15269, 99)
' (Brown, Jim, 118, 2359, 12312, 106)
' (Dickerson, Eric, 144, 2996, 13259, 90)
' (Faulk, Marshall, 176, 2836, 12279, 100)
'
' The values in sorted order:
' (Brown, Jim, 118, 2359, 12312, 106)
' (Dickerson, Eric, 144, 2996, 13259, 90)
' (Faulk, Marshall, 176, 2836, 12279, 100)
' (Payton, Walter, 190, 3838, 16726, 110)
' (Sanders, Barry, 153, 3062, 15269, 99)
注釈
このメンバーは、明示的なインターフェイス メンバーの実装です。 これは、Tuple<T1,T2,T3,T4,T5> のインスタンスが IComparable インターフェイスにキャストされる場合のみ、使用できます。
このメソッドは、 クラスの IComparable.CompareTo 実装を Tuple<T1,T2,T3,T4,T5> 提供します。 メソッドは直接呼び出すことができますが、コレクションのメンバーを並べ替えるために、 や SortedList.AddなどのArray.Sort(Array)コレクション並べ替えメソッドの既定のオーバーロードによって呼び出されるのが最も一般的です。
注意事項
メソッドは IComparable.CompareTo 、並べ替え操作で使用することを目的としています。 比較の主な目的が 2 つのオブジェクトが等しいかどうかを判断する場合は使用しないでください。 2 つのオブジェクトが等しいかどうかを判断するには、 メソッドを呼び出します Tuple<T1,T2,T3,T4,T5>.Equals(Object) 。
メソッドは IComparable.CompareTo(Object) 、既定のオブジェクト比較子を使用して各コンポーネントを比較します。
適用対象
こちらもご覧ください
.NET