加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#语法——元组类型

发布时间:2020-12-15 04:45:57 所属栏目:百科 来源:网络整理
导读:div style="width=100%; background: #4169E1; color: #ffffff; height:50px;font-size: 30px;"?元组Tuple ? 我们现在使用的C#语法已经可以满足日常的开发需求,但C#语法还在进行版本的更新,在创造更多更优秀的语义来让我们使用。这里介绍一下C#5.0里的提

<div style="width=100%; background: #4169E1; color: #ffffff; height:50px;font-size: 30px;">?元组Tuple

?

  我们现在使用的C#语法已经可以满足日常的开发需求,但C#语法还在进行版本的更新,在创造更多更优秀的语义来让我们使用。这里介绍一下C#5.0里的提供的语法——元组。

  在C#中定义Tuple对象,转到定义查看,我们会看到如下代码

程序集 mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089

  即该语法在.Net Framework4框架中已经可以支持了。

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

  元组Tuple是可以存贮多种类型的数据的。NET Framework 直接支持具有 1 到 7 元素的元组。 此外,您可以创建由嵌套中的元组对象的元组的八个或多个元素Rest属性Tuple对象。

  元组常用四种方法︰

  1,用来表示一组数据。 例如,一个元组可以表示的数据库记录,并且其组件可以表示每个字段的记录。

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

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

  4,若要将多个值传递给通过单个参数的方法。 例如,Thread.Start(Object)方法只有一个参数,允许你提供一个线程在启动时执行的方法的值。如果你提供Tuple对象作为方法自变量,则可以提供有三个项的数据的线程的启动例程。

( "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";
}}</pre>

输出结果Kiba123AB


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

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

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

注:此文章为原创,欢迎转载,请在文章页面明显位置给出此文链接!若您觉得这篇文章还不错,请点击下右下角的推荐,非常感谢!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读