📜  C#7.0 元组

📅  最后修改于: 2020-11-01 03:08:52             🧑  作者: Mango

C#元组

C#元组是一种数据结构,用于存储元素序列。具有n个元素的元组称为n元组。

出于以下原因,我们可以使用Tuple。

  • 代表一组数据
  • 提供轻松的数据访问和操作
  • 在不使用out参数的情况下从方法返回多个值
  • 通过单个参数将多个值传递给方法

在C#中,元组是一个包含静态方法的类。这些方法用于创建元组对象。以下是Tuple类的语法。

C#元组类语法

public static class Tuple

C#元组方法

下表包含Tuple类的方法。

Method name Description
Create(T1) It is used to create a new 1-tuple, or singleton.
Create(T1,T2) It is used to create a new 2-tuple, or pair.
Create(T1,T2,T3) It is used to create a new 3-tuple, or triple.
Create(T1,T2,T3,T4) It is used to create a new 4-tuple, or quadruple.
Create(T1,T2,T3,T4,T5) It is used to create a new 5-tuple, or quintuple.
Create(T1,T2,T3,T4,T5,T6) It is used to create a new 6-tuple, or sextuple.
Create(T1,T2,T3,T4,T5,T6,T7) It is used to create a new 7-tuple, or septuple.
Create(T1,T2,T3,T4,T5,T6,T7,T8) It is used to create a new 8-tuple, or octuple.

让我们看一个创建元组来存储图书信息的示例。在这里,我们在不使用静态方法的情况下创建Tuple。

C#元组示例1

using System;
namespace CSharpFeatures
{
    class TupleExample
    {
        public static void Main(string[] args)
        {
            // Creating Tuple of three values
            var book = new Tuple("C# in Depth", "Jon Skeet", 100.50);
            Console.WriteLine("-----------------Book's Record---------------------");
            Console.WriteLine("Title  "  + book.Item1);
            Console.WriteLine("Author " + book.Item2);
            Console.WriteLine("Price  "  + book.Item3);
        }
    }
}

输出:

-----------------Book's Record---------------------
Title  C# in Depth
Author Jon Skeet
Price  100.5

我们可以使用Tuple类的静态方法来创建Tuple。在下面的示例中,我们使用create方法。

静态方法的C#元组示例

using System;
namespace CSharpFeatures
{
    class TupleExample
    {
        public static void Main(string[] args)
        {
            // Creating Tuple using helper method (Create)
            var book = Tuple.Create("C# in Depth", "Jon Skeet", 100.50);
            Console.WriteLine("-----------------Book's Record---------------------");
            Console.WriteLine("Title  " + book.Item1);
            Console.WriteLine("Author " + book.Item2);
            Console.WriteLine("Price  " + book.Item3);
        }
    }
}

输出:

-----------------Book's Record---------------------
Title  C# in Depth
Author Jon Skeet
Price  100.5

我们可以使用元组从一个方法返回多个值。在下面的示例中,我们将元组返回给调用方方法。

C#元组示例返回多个值

using System;
namespace CSharpFeatures
{
    public class Student
    {
        public static void Main(string[] args)
        {
            var (name,email) = Show();
            Console.WriteLine(name+" "+email);
        }
        static (string name, string email) Show()
        {
            return ("irfan","irfan@gmail.com");
        }
    }
}