Tuple<T1,T2,T3> 类
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 3 元组,或三元组。
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
- T1
此元组的第一个组件的类型。
- T2
此元组的第二个组件的类型。
- T3
此元组的第三个组件的类型。
- 继承
-
Tuple<T1,T2,T3>
- 属性
- 实现
元组是具有特定数目和值序列的数据结构。 该 Tuple<T1,T2,T3> 类表示一个 3 元组或三元组,它是具有三个组件的元组。
可以通过调用Tuple<T1,T2,T3>构造函数或静态Tuple.Create<T1,T2,T3>(T1, T2, T3)方法来实例化Tuple<T1,T2,T3>对象。 可以使用只读Item1Item2属性和Item3实例属性检索元组组件的值。
元组通常采用四种不同的方式:
表示单个数据集。 例如,元组可以表示数据库记录,其组件可以表示记录的各个字段。
为了提供对数据集的轻松访问和操作。 以下示例定义一个对象数组 Tuple<T1,T2,T3> ,其中包含学生的名称、其平均考试分数和所执行的测试数。 数组传递给
ComputeStatistics
该方法,该方法计算测试分数的平均值和标准偏差。C#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)
若要返回方法中的
out
多个值,而不使用 C#) 中的参数 (或ByRef
Visual Basic) 中的参数 (。 例如,上一 Tuple<T1,T2,T3> 个示例在对象中返回其摘要测试分数统计信息。通过单个参数将多个值传递给方法。 例如,该方法 Thread.Start(Object) 具有一个参数,用于向线程在启动时执行的方法提供一个值。 如果将对象作为方法参数提供 Tuple<T1,T2,T3> ,则可以提供线程的启动例程,其中包含三项数据。
Tuple<T1,T2,T3>(T1, T2, T3) |
初始化 Tuple<T1,T2,T3> 类的新实例。 |
Item1 |
获取当前 Tuple<T1,T2,T3> 对象的第一个分量的值。 |
Item2 |
获取当前 Tuple<T1,T2,T3> 对象的第二个分量的值。 |
Item3 |
获取当前 Tuple<T1,T2,T3> 对象的第三个分量的值。 |
Equals(Object) |
返回一个值,该值指示当前的 Tuple<T1,T2,T3> 对象是否与指定对象相等。 |
Get |
返回当前 Tuple<T1,T2,T3> 对象的哈希代码。 |
Get |
获取当前实例的 Type。 (继承自 Object) |
Memberwise |
创建当前 Object 的浅表副本。 (继承自 Object) |
To |
返回表示此 Tuple<T1,T2,T3> 实例的值的字符串。 |
IComparable. |
比较当前 Tuple<T1,T2,T3> 对象与指定对象,并返回一个整数,该整数指示当前对象在排序顺序中的位置:是在指定对象之前、之后还是在与指定对象相同的位置。 |
IStructural |
使用指定的比较器将当前的 Tuple<T1,T2,T3> 对象与指定对象进行比较,并返回一个整数,该整数指示当前对象在排序顺序中的位置是在指定对象之前、之后还是与其相同。 |
IStructural |
返回一个值,该值根据指定的比较方法指示当前的 Tuple<T1,T2,T3> 对象是否与指定对象相等。 |
IStructural |
使用指定的计算方法计算当前 Tuple<T1,T2,T3> 对象的哈希代码。 |
ITuple. |
获取指定 |
ITuple. |
获取 |
Deconstruct<T1,T2,T3>(Tuple<T1,T2,T3>, T1, T2, T3) |
将具有 3 个元素的元组解构为不同的变量。 |
To |
将 |
产品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 |
.NET Framework | 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |