📜  如何在C#中创建3-ValueTuple?

📅  最后修改于: 2021-05-29 23:43:45             🧑  作者: Mango

在C#中,三元组或3值元组是其中包含三个元素的值类型元组。您可以使用两种不同的方式创建三元组。

  1. 使用ValueTuple (T1,T2,T3)构造函数
  2. 使用创建(T1,T2,T3)方法

使用ValueTuple (T1,T2,T3)构造函数

您可以使用ValueTuple (T1,T2,T3)构造函数来创建三元组。它初始化ValueTuple 结构的新实例。但是,当使用此构造函数创建值元组时,则必须指定存储在值元组中的元素的类型。

句法:

public ValueTuple (T1 item1, T2 item2, T3 item3);

参数:

  • item1:它是第一个值元组组件的值。
  • item2:它是第二个值元组组件的值。
  • item3:它是第三个值元组组件的值。

例子:

// C# program to create a triple
// value tuple using value tuple constructor
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating a value tuple with three elements
        // Using ValueTuple(T1, T2, T3) constructor
        ValueTuple MyTpl = new ValueTuple("Dog", "Cat", "Cow");
  
        Console.WriteLine("Component 1: " + MyTpl.Item1);
        Console.WriteLine("Component 2: " + MyTpl.Item2);
        Console.WriteLine("Component 3: " + MyTpl.Item3);
    }
}
输出:
Component 1: Dog
Component 2: Cat
Component 3: Cow

使用创建(T1,T2,T3)方法

您还可以借助Create (T1,T2,T3)方法创建三元组或包含3个元素的值元组。使用此方法时,无需指定存储在值元组中的元素的类型。

句法:

类型参数:

  • T1:这是值元组的第一个组件的类型。
  • T2:这是值元组的第二个组件的类型。
  • T3:这是值元组的第三部分的类型。

参数:

  • item1:它是值元组的第一个组件的值。
  • item2:它是值元组的第二个组件的值。
  • item3:它是值元组的第三部分的值。

返回值:此方法返回一个包含三个元素的值元组。

例子:

// C# program to create a tuple value tuple
// using Create(T1, T2, T3) method
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating a value tuple with three elements
        // Using Create(T1, T2, T3) method
        var MyTple = ValueTuple.Create(12, 34, 56);
  
        Console.WriteLine("Component 1: " + MyTple.Item1);
        Console.WriteLine("Component 2: " + MyTple.Item2);
        Console.WriteLine("Component 3: " + MyTple.Item3);
    }
}
输出:
Component 1: 12
Component 2: 34
Component 3: 56

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.valuetuple-3.-ctor?view=netframework-4.8
  • https://docs.microsoft.com/zh-cn/dotnet/api/system.valuetuple.create?view=netframework-4.8#System_ValueTuple_Create__3___0___1___2_