C#函数使用元组类(tuple)返回多个值

C#普通的函数一般只能返回一个值,当然可以ref和out返回多个值,但是在调用时需初始化参数并传入。C#是个优秀的语言,它给你带了好的方法,那就是可以使用元组类(tuple)。什么是元组类呢?元组是.NET framework4.0推出的新特性,它是具有特定数目和值序列的数据结构。类 Tuple<T1,T2> 表示一个 2 元组或一对,它是具有两个组件的元组。2 元组类似于结构 KeyValuePair<TKey,TValue>。它通常用于从方法返回多个值。.使用方法 

它可以支持多种类型的值,如下案例

    public static void Main()    {        Tuple<string, int> tuple = fun();        Console.WriteLine($"{tuple.Item1}{tuple.Item2}");    }    private static Tuple<string, int> fun() {        return Tuple.Create("Hello DotNet开发跳槽", 6);    }    //输出结果Hello DotNet开发跳槽6

  它还可以支持类的传递,案例如下:

    public static void Main()    {        Tuple<string, Test> tuple = fun();        Console.WriteLine($"{tuple.Item2.Name}{tuple.Item1}");    }    private static Tuple<string, Test> fun() {        Test t=new Test();        t.Id=1;t.Name="你好";        return Tuple.Create("DotNet开发跳槽", t);    }public class Test{  public string Name{get;set;}  public int Id{get;set;}}//输出结果:你好DotNet开发跳槽

调用时还可以用var类型。

    public static void Main()    {        var tuple = fun();        int j=tuple.Item2+660;        Console.WriteLine($"{tuple.Item1}{j}");    }    private static Tuple<string, int> fun() {        return Tuple.Create("Hello DotNet开发跳槽", 6);    }   // 输出结果:Hello DotNet开发跳槽666

   元组还可以表示单个数据集。例如,元组可以表示数据库中的记录,其组件可以表示该记录的字段。使用频率不是太多,大家可以到官网查看,这里就不讲了。

    对于函数返回多个值,大家还有啥方法呢?欢迎留言讨论!