C#语法——元组类型

 元组Tuple
 

  咱们如今使用的C#语法已经能够知足平常的开发需求,但C#语法还在进行版本的更新,在创造更多更优秀的语义来让咱们使用。这里介绍一下C#5.0里的提供的语法——元组。html

  在C#中定义Tuple对象,转到定义查看,咱们会看到以下代码数据库

 #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\mscorlib.dll
 #endregion

  即该语法在.Net Framework4框架中已经能够支持了。数据结构

  元组Tuple是一种数据结构,具备特定数量和元素序列。什么意思呢?就是元组是能够存贮多种类型的对象,能够想象一下当一个函数拥有多个不一样类型的返回值时,咱们除了定义了一个返回值之外,还要定义多个out或ref类型返回值才能解决这个需求;固然咱们也能够定义一个对象保存多个返回值。但如今咱们多了一个解决方案,定义返回值为一个元组,就解决了一切。架构

  元组Tuple是能够存贮多种类型的数据的。NET Framework 直接支持具备 1 到 7 元素的元组。 此外,您能够建立由嵌套中的元组对象的元组的八个或多个元素Rest属性Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>对象。框架

  元组经常使用四种方法︰async

  1,用来表示一组数据。 例如,一个元组能够表示的数据库记录,而且其组件能够表示每一个字段的记录。函数

  2,若要提供轻松访问和数据集的操做。spa

  3,out参数 (在 C# 中) 或ByRef参数 (在 Visual Basic 中)。.net

  4,若要将多个值传递给经过单个参数的方法。 例如,Thread.Start(Object)方法只有一个参数,容许你提供一个线程在启动时执行的方法的值。若是你提供Tuple<T1, T2, T3>对象做为方法自变量,则能够提供有三个项的数据的线程的启动例程。线程

 class Program
    {
        static void Main(string[] args)
        {
            var tuple = new Tuple<string, int, int, int>(
                             "Kiba", 00001, 00002,
                             00003);

            Console.WriteLine(tuple.Item1);
            Console.WriteLine(tuple.Item2);
            Console.WriteLine(tuple.Item3);
            Console.WriteLine(tuple.Item4);

            var tupleCalss = new Tuple<A, B>(
                         new A(), new B());
            Console.WriteLine(tupleCalss.Item1.Name);
            Console.WriteLine(tupleCalss.Item2.Name);
            Console.ReadKey();
        }
    }
    public class A
    {
        public string name = "A";

        public string Name { get => name; set => name = value; }
    }
    public class B
    {
        public string Name = "B";
    }
}


输出结果
Kiba
1
2
3
A
B


 

【PS:这里使用的目标框架是.net framework 4.0 ,咱们能够看到属性的声明以下,即4.0已经支持=>模式的属性设置了。】

 public string name = "A";

 public string Name { get => name; set => name = value; }

C#语法——委托,架构的血液

C#语法——泛型的多种应用

C#语法——await与async的正确打开方式

----------------------------------------------------------------------------------------------------

注:此文章为原创,任何形式的转载都请联系做者得到受权并注明出处!
若您以为这篇文章还不错,请点击下方的推荐】,很是感谢!

 

相关文章
相关标签/搜索