Tuple<T1,T2,T3> 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 3 tuple, atau tiga kali lipat.
generic <typename T1, typename T2, typename T3>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
generic <typename T1, typename T2, typename T3>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[System.Serializable]
public class Tuple<T1,T2,T3> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple
Jenis parameter
- T1
Jenis komponen pertama tuple.
- T2
Jenis komponen kedua tuple.
- T3
Jenis komponen ketiga tuple.
- Warisan
-
Tuple<T1,T2,T3>
- Atribut
- Penerapan
Keterangan
Tuple adalah struktur data yang memiliki angka dan urutan nilai tertentu. Kelas ini Tuple<T1,T2,T3> mewakili 3 tuple, atau tiga kali lipat, yang merupakan tuple yang memiliki tiga komponen.
Anda dapat membuat Tuple<T1,T2,T3> instans objek dengan memanggil Tuple<T1,T2,T3> konstruktor atau metode statis Tuple.Create<T1,T2,T3>(T1, T2, T3) . Anda dapat mengambil nilai komponen tuple dengan menggunakan properti instans baca-saja Item1, Item2, dan 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. Contoh berikut mendefinisikan array Tuple<T1,T2,T3> objek yang berisi nama siswa, skor pengujian rata-rata mereka, dan jumlah pengujian yang diambil. Array diteruskan ke
ComputeStatisticsmetode , yang menghitung rata-rata dan simpanpan baku skor pengujian.using System; public class Example { public static void Main() { Tuple<string, double, int>[] scores = { Tuple.Create("Jack", 78.8, 8), Tuple.Create("Abbey", 92.1, 9), Tuple.Create("Dave", 88.3, 9), Tuple.Create("Sam", 91.7, 8), Tuple.Create("Ed", 71.2, 5), Tuple.Create("Penelope", 82.9, 8), Tuple.Create("Linda", 99.0, 9), Tuple.Create("Judith", 84.3, 9) }; var result = ComputeStatistics(scores); Console.WriteLine("Mean score: {0:N2} (SD={1:N2}) (n={2})", result.Item2, result.Item3, result.Item1); } private static Tuple<int, double, double> ComputeStatistics(Tuple<string, double, int>[] scores) { int n = 0; double sum = 0; // Compute the mean. foreach (var score in scores) { n += score.Item3; sum += score.Item2 * score.Item3; } double mean = sum / n; // Compute the standard deviation. double ss = 0; foreach (var score in scores) { ss = Math.Pow(score.Item2 - mean, 2); } double sd = Math.Sqrt(ss/scores.Length); return Tuple.Create(scores.Length, mean, sd); } } // The example displays the following output: // Mean score: 87.02 (SD=0.96) (n=8)open System let computeStatistics (scores: Tuple<string, double, int>[]) = let mutable n = 0 let mutable sum = 0. // Compute the mean. for score in scores do n <- n + score.Item3 sum <- sum + score.Item2 * double score.Item3 let mean = sum / double n // Compute the standard deviation. let mutable ss = 0. for score in scores do ss <- (score.Item2 - mean) ** 2. let sd = sqrt (ss / double scores.Length) Tuple.Create(scores.Length, mean, sd) let scores = [| Tuple.Create("Jack", 78.8, 8) Tuple.Create("Abbey", 92.1, 9) Tuple.Create("Dave", 88.3, 9) Tuple.Create("Sam", 91.7, 8) Tuple.Create("Ed", 71.2, 5) Tuple.Create("Penelope", 82.9, 8) Tuple.Create("Linda", 99.0, 9) Tuple.Create("Judith", 84.3, 9) |] let result = computeStatistics scores printfn $"Mean score: {result.Item2:N2} (SD={result.Item3:N2}) (n={result.Item1})" // The example displays the following output: // Mean score: 87.02 (SD=0.96) (n=8)Module Example Public Sub Main() Dim scores() = { Tuple.Create("Jack", 78.8, 8), Tuple.Create("Abbey", 92.1, 9), Tuple.Create("Dave", 88.3, 9), Tuple.Create("Sam", 91.7, 8), Tuple.Create("Ed", 71.2, 5), Tuple.Create("Penelope", 82.9, 8), Tuple.Create("Linda", 99.0, 9), Tuple.Create("Judith", 84.3, 9) } Dim result = ComputeStatistics(scores) Console.WriteLine("Mean score: {0:N2} (SD={1:N2}) (n={2})", result.Item2, result.Item3, result.Item1) End Sub Private Function ComputeStatistics(scores() As Tuple(Of String, Double, Integer)) _ As Tuple(Of Integer, Double, Double) Dim n As Integer = 0 Dim sum As Double = 0 ' Compute the mean. For Each score In scores n+= score.Item3 sum += score.Item2 * score.Item3 Next Dim mean As Double = sum / n ' Compute the standard deviation. Dim ss As Double = 0 For Each score In scores ss = Math.Pow(score.Item2 - mean, 2) Next Dim sd As Double = Math.Sqrt(ss/scores.Length) Return Tuple.Create(scores.Length, mean, sd) End Function End Module ' The example displays the following output: ' Mean score: 87.02 (SD=0.96) (n=8)Untuk mengembalikan beberapa nilai dari metode tanpa menggunakan
outparameter (dalam C#) atauByRefparameter (di Visual Basic). Misalnya, contoh sebelumnya mengembalikan statistik skor pengujian ringkasannya dalam objek Tuple<T1,T2,T3> .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> objek sebagai argumen metode, Anda dapat menyediakan rutinitas startup utas dengan tiga item data.
Konstruktor
| Nama | Deskripsi |
|---|---|
| Tuple<T1,T2,T3>(T1, T2, T3) |
Menginisialisasi instans baru dari kelas Tuple<T1,T2,T3>. |
Properti
| Nama | Deskripsi |
|---|---|
| Item1 |
Mendapatkan nilai komponen pertama objek saat ini Tuple<T1,T2,T3> . |
| Item2 |
Mendapatkan nilai komponen kedua objek saat ini Tuple<T1,T2,T3> . |
| Item3 |
Mendapatkan nilai komponen ketiga objek saat ini Tuple<T1,T2,T3> . |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah objek saat ini Tuple<T1,T2,T3> sama dengan objek tertentu. |
| GetHashCode() |
Mengembalikan kode hash untuk objek saat ini Tuple<T1,T2,T3> . |
| 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> . |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IComparable.CompareTo(Object) |
Membandingkan objek saat ini Tuple<T1,T2,T3> 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> 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> sama dengan objek tertentu berdasarkan metode perbandingan yang ditentukan. |
| IStructuralEquatable.GetHashCode(IEqualityComparer) |
Menghitung kode hash untuk objek saat ini Tuple<T1,T2,T3> dengan menggunakan metode komputasi tertentu. |
| ITuple.Item[Int32] |
Mendapatkan nilai elemen yang ditentukan |
| ITuple.Length |
Mendapatkan jumlah elemen dalam |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| Deconstruct<T1,T2,T3>(Tuple<T1,T2,T3>, T1, T2, T3) |
Mendekonstruksi tuple dengan 3 elemen ke dalam variabel terpisah. |
| ToValueTuple<T1,T2,T3>(Tuple<T1,T2,T3>) |
Mengonversi instans |