Tuple<T1,T2,T3,T4,T5,T6,T7>.IComparable.CompareTo(Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli Tuple<T1,T2,T3,T4,T5,T6,T7> nesneyi belirtilen bir nesneyle karşılaştırır ve geçerli nesnenin sıralama düzeninde belirtilen nesneden önce mi, sonra mı yoksa belirtilen nesneyle aynı konumda mı olduğunu belirten bir tamsayı döndürür.
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
Parametreler
- obj
- Object
Geçerli örnek ile karşılaştırılacak nesne.
Döndürülenler
Aşağıdaki tabloda gösterildiği gibi, bu örneğin göreli konumunu ve obj
sıralama düzeninde gösteren imzalı tamsayı.
Değer | Açıklama |
---|---|
Negatif bir tamsayı | Bu örnek öncesindedir obj .
|
Sıfır | Bu örnek ve obj sıralama düzeninde aynı konuma sahiptir.
|
Pozitif bir tamsayı | Bu örnek aşağıdaki gibidir obj .
|
Uygulamalar
Özel durumlar
obj
nesne Tuple<T1,T2,T3,T4,T5,T6,T7> değildir.
Örnekler
Aşağıdaki örnek, 1950 ile Tuple<T1,T2,T3,T4,T5,T6,T7> 2000 Birleşik Devletler üç şehir için nüfus verilerini içeren bir nesne dizisi oluşturur. Yedi bileşen şehir adından ve ardından 1950 ile 2000 arasında 10 yıllık aralıklarla şehir nüfusundan oluşur. Örnek, dizideki her demetin bileşenlerini sıralanmamış düzende görüntüler, diziyi sıralar ve sonra her tanımlama düzenini sıralı düzende görüntülemek için yöntemini çağırır ToString . Çıktı, dizinin ilk bileşen olan ada göre sıralanmış olduğunu gösterir. Örneğin yöntemini doğrudan çağırmadığını IComparable.CompareTo(Object) unutmayın. Bu yöntem, dizideki Sort(Array) her öğe için yöntemi tarafından örtük olarak çağrılır.
using System;
public class Example
{
public static void Main()
{
// Create array of sextuple with population data for three U.S.
// cities, 1950-2000.
Tuple<string, int, int, int, int, int, int>[] cities =
{ Tuple.Create("Los Angeles", 1970358, 2479015, 2816061, 2966850, 3485398, 3694820),
Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278),
Tuple.Create("Chicago", 3620962, 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, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
//
// In sorted order:
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
// (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
open System
// Create array of sextuple with population data for three U.S.
// cities, 1950-2000.
let cities =
[| Tuple.Create("Los Angeles", 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
Tuple.Create("Chicago", 3620962, 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, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
//
// In sorted order:
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
// (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
Module Example
Public Sub Main()
' Create array of sextuple with population data for three U.S.
' cities, 1950-2000.
Dim cities() = _
{ Tuple.Create("Los Angeles", 1970358, 2479015, 2816061, 2966850, 3485398, 3694820),
Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278),
Tuple.Create("Chicago", 3620962, 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, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
' (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
'
' In sorted order:
' (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
' (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
' (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
Açıklamalar
Bu üye, açık bir arabirim üyesi uygulamasıdır. Yalnızca örnek bir IComparable arabirime Tuple<T1,T2,T3,T4,T5,T6,T7> yayınlandığında kullanılabilir.
Bu yöntem sınıfı için Tuple<T1,T2,T3,T4,T5,T6,T7> uygulamayı sağlarIComparable.CompareTo. yöntemi doğrudan çağrılabilse de, bir koleksiyonun üyelerini sıralamak için en yaygın olarak ve SortedList.Addgibi Array.Sort(Array) koleksiyon sıralama yöntemlerinin varsayılan aşırı yüklemeleri tarafından çağrılır.
Dikkat
IComparable.CompareTo yöntemi, sıralama işlemlerinde kullanılmak üzere tasarlanmıştır. Karşılaştırmanın asıl amacı iki nesnenin eşit olup olmadığını belirlemek olduğunda kullanılmamalıdır. İki nesnenin eşit olup olmadığını belirlemek için yöntemini çağırın Tuple<T1,T2,T3,T4,T5,T6,T7>.Equals(Object) .
Bu yöntem, her bileşeni karşılaştırmak için varsayılan nesne karşılaştırıcısını kullanır.