Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili n-tuple, di mana n adalah 8 atau lebih besar.
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename TRest>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename TRest>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7, TRest)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7, TRest)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple
Jenis parameter
- T1
Jenis komponen pertama tuple.
- T2
Jenis komponen kedua tuple.
- T3
Jenis komponen ketiga tuple.
- T4
Jenis komponen keempat tuple.
- T5
Jenis komponen kelima tuple.
- T6
Jenis komponen keenam tuple.
- T7
Jenis komponen ketujuh tuple.
- TRest
Objek generik Tuple apa pun yang mendefinisikan jenis komponen tuple yang tersisa.
- Warisan
-
Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>
- Atribut
- Penerapan
Keterangan
Tuple adalah struktur data yang memiliki angka dan urutan nilai tertentu. Kelas mewakili Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>n-tuple yang memiliki delapan komponen atau lebih.
Anda dapat membuat Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> instans objek dengan tepat delapan komponen dengan memanggil metode statis Tuple.Create . Contoh berikut membuat 8 tuple (octuple) yang berisi bilangan prima yang kurang dari 20. Perhatikan bahwa ia menggunakan inferensi jenis untuk menentukan jenis setiap komponen.
var primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19);
Console.WriteLine("Prime numbers less than 20: " +
"{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
primes.Item1, primes.Item2, primes.Item3,
primes.Item4, primes.Item5, primes.Item6,
primes.Item7, primes.Rest.Item1);
// The example displays the following output:
// Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
open System
let primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
printfn $"Prime numbers less than 20: {primes.Item1}, {primes.Item2}, {primes.Item3}, {primes.Item4}, {primes.Item5}, {primes.Item6}, {primes.Item7}, and {primes.Rest.Item1}"
// Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
Dim primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
Console.WriteLine("Prime numbers less than 20: " +
"{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
primes.Item1, primes.Item2, primes.Item3,
primes.Item4, primes.Item5, primes.Item6,
primes.Item7, primes.Rest.Item1)
' The example displays the following output:
' Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
Anda juga dapat membuat instans objek n-tuple dengan delapan komponen atau lebih dengan memanggil Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor. Contoh berikut menggunakan Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor untuk membuat 8 tuple yang setara dengan tuple yang dibuat dalam contoh sebelumnya.
var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
let primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19))
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))
Nota
Untuk membuat n-tuple dengan sembilan komponen atau lebih, Anda harus memanggil Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor. Metode pabrik statis kelas Tuple tidak mendukung pembuatan Tuple objek dengan lebih dari delapan komponen.
Untuk membuat instans n-tuple yang memiliki delapan komponen atau lebih dengan Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor, Anda menyediakan objek generik Tuple sebagai rest parameter untuk menentukan komponen kedelapan hingga nth dari tuple. Dengan menyarangkan objek generik Tuple dengan cara ini, Anda dapat membuat tuple yang tidak memiliki batasan praktis pada jumlah komponennya.
Contoh berikut membuat 17 tuple yang berisi data populasi untuk kota Detroit, Michigan, untuk setiap sensus nasional dari 1860 hingga 2000. Komponen pertama dari tuple adalah nama kota. Komponen kedua adalah tanggal mulai seri data, dan komponen ketiga adalah populasi pada tanggal mulai. Setiap komponen berikutnya menyediakan populasi pada interval dekade. 17-tuple dibuat dengan menyarangkan Tuple<T1,T2,T3> objek di dalam Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objek. (Artinya, Tuple<T1,T2,T3> objek disediakan sebagai nilai rest parameter di Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> konstruktor kelas.) Objek ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> , pada gilirannya, bersarang di objek luar Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . (Artinya, Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objek disediakan sebagai nilai rest parameter di konstruktor kelas objek luar Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> .)
var from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>
(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>>
("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);
let from1980 = Tuple.Create(1203339, 1027974, 951270)
let from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
let population = new Tuple<string, int, int, int, int, int, int, Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>>("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)
Dim from1980 = Tuple.Create(1203339, 1027974, 951270)
Dim from1910 As New Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, _
Tuple(Of Integer, Integer, Integer)) _
(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer, _
Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, Tuple(Of Integer, Integer, Integer))) _
("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)
Anda dapat mengambil nilai tujuh komponen pertama tuple dengan menggunakan properti instans baca-saja Item1, , Item2, Item3Item5Item4, Item6, , dan .Item7 Komponen tambahan apa pun ditumpuk dan dapat diambil dari Rest properti . Dalam contoh sebelumnya, Item1 properti melalui Item7 mengambil komponen pertama hingga ketujuh tuple. Komponen kedelapan hingga empat belas terkandung dalam tupel yang bersarang pada tingkat kedua, dan diwakili oleh Rest.Item1 properti melalui Rest.Item7 . Komponen kelima belas hingga tujuh belas terkandung dalam tupel yang bersarang pada tingkat ketiga, dan diwakili oleh Rest.Rest.Item1 properti sekalipun Rest.Rest.Item3 .
Tuple umumnya digunakan dengan empat cara berbeda:
Untuk mewakili satu set data. Misalnya, tuple dapat mewakili rekaman database, dan komponennya dapat mewakili bidang rekaman individual.
Untuk menyediakan akses mudah ke, dan manipulasi, himpunan data.
Untuk mengembalikan beberapa nilai dari metode tanpa menggunakan
outparameter (dalam C#) atauByRefparameter (di Visual Basic). Misalnya, contoh sebelumnya mengembalikan statistik komputasinya, bersama dengan nama kota, dalam objek Tuple<T1,T2,T3,T4,T5,T6,T7> .Untuk meneruskan beberapa nilai ke metode melalui satu parameter. Misalnya, Thread.Start(Object) metode ini memiliki satu parameter yang memungkinkan Anda menyediakan satu nilai ke metode yang dijalankan utas saat startup. Jika Anda menyediakan Tuple<T1,T2,T3,T4,T5,T6,T7> objek sebagai argumen metode, Anda dapat menyediakan rutinitas startup utas dengan tujuh item data.
Konstruktor
| Nama | Deskripsi |
|---|---|
| Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>(T1, T2, T3, T4, T5, T6, T7, TRest) |
Menginisialisasi instans baru dari kelas Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>. |
Properti
| Nama | Deskripsi |
|---|---|
| Item1 |
Mendapatkan nilai komponen pertama objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| Item2 |
Mendapatkan nilai komponen kedua objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| Item3 |
Mendapatkan nilai komponen ketiga objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| Item4 |
Mendapatkan nilai komponen keempat objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| Item5 |
Mendapatkan nilai komponen kelima objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| Item6 |
Mendapatkan nilai komponen keenam objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| Item7 |
Mendapatkan nilai komponen ketujuh objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| Rest |
Mendapatkan komponen objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> yang tersisa. |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> sama dengan objek tertentu. |
| GetHashCode() |
Menghitung kode hash untuk objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan string yang mewakili nilai instans ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> . |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IComparable.CompareTo(Object) |
Membandingkan objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> dengan objek tertentu dan mengembalikan bilangan bulat yang menunjukkan apakah objek saat ini sebelum, sesudah, atau dalam posisi yang sama dengan objek yang ditentukan dalam urutan pengurutan. |
| IStructuralComparable.CompareTo(Object, IComparer) |
Membandingkan objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> dengan objek tertentu dengan menggunakan pembanding tertentu dan mengembalikan bilangan bulat yang menunjukkan apakah objek saat ini adalah sebelum, sesudah, atau dalam posisi yang sama dengan objek yang ditentukan dalam urutan pengurutan. |
| IStructuralEquatable.Equals(Object, IEqualityComparer) |
Mengembalikan nilai yang menunjukkan apakah objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> sama dengan objek tertentu berdasarkan metode perbandingan yang ditentukan. |
| IStructuralEquatable.GetHashCode(IEqualityComparer) |
Menghitung kode hash untuk objek saat ini Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> dengan menggunakan metode komputasi tertentu. |
| ITuple.Item[Int32] |
Mendapatkan nilai elemen yang ditentukan |
| ITuple.Length |
Mendapatkan jumlah elemen dalam |