📜  C#|价值元组<T1>结构

📅  最后修改于: 2021-05-29 18:20:40             🧑  作者: Mango

ValueTuple 结构用于创建仅存储一个组件的单例值元组或1-ValueTuple。它提供值元组的运行时实现。您可以使用ValueTuple (T1)构造函数,使用ValueTuple.Create方法或仅通过使用parenthesis()来创建ValueTuple 结构的实例。您可以使用默认属性来检索值元组的单个未命名元素的值,或者可以借助其名称直接访问命名元素。

重要事项:

  • 它实现了IStructuralComparableIStructuralEquatableIComparableIComparable >IEquatable >ITuple接口。
  • 它在系统名称空间下定义。
  • 它还可以存储重复的元素。
  • 字段是可变的。因此,您可以更改ValueTuple 的值。
  • 在这里,像Item1这样的成员不是字段。
  • 它是值类型而不是引用类型。

建设者

Constructor Description
ValueTuple(T1) Initializes a new ValueTuple instance.

场地

Field Description
Item1 Gets the value of the current ValueTuple instance’s first element.

例子:

// C# program to illustrate how to
// access the element of ValueTuple
using System;
  
class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Creating a value tuple
        // Using Create method
        var Mylibrary = ValueTuple.Create(3456);
  
        // Display the element of the given value tuple
        Console.WriteLine("Book Id: {0}", Mylibrary.Item1);
    }
}
输出:
Book Id: 3456

方法

Method Description
CompareTo(ValueTuple) Compares the current ValueTuple instance to a specified ValueTuple instance.
Equals(Object) Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.
Equals(ValueTuple) Returns a value that indicates whether the current ValueTuple instance is equal to a specified ValueTuple instance.
GetHashCode() Calculates the hash code for the current ValueTuple instance.
ToString() Returns a string that represents the value of this ValueTuple instance.

例子:

// Check the given value tuples
// are equal or not
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating 1-ValueTuple
        // Using Create method
        var T1 = ValueTuple.Create(346);
        var T2 = ValueTuple.Create(346);
  
        // Check if both the value tuples
        // are equal or not
        if (T1.Equals(T2))
        {
            Console.WriteLine("Code is correct...!!");
        }
  
        else 
        {
            Console.WriteLine("Incorrect Code...!!");
        }
    }
}
输出:
Code is correct...!!

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.valuetuple-1?view=netframework-4.8