国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#語法新特性之元組實例詳解

2019-10-29 21:11:44
字體:
來源:轉載
供稿:網友

1.元組(Tuple)

元組(Tuple)在4.0 的時候就有了,但元組也有些缺點,如:

   1)Tuple 會影響代碼的可讀性,因為它的屬性名都是:Item1,Item2.. 。

   2)Tuple 還不夠輕量級,因為它是引用類型(Class),對于一個變量要使用一個類型,有點太沒必要了。

源代碼如下:

 // 摘要:  //   提供用于創造元組對象的靜態方法。若要瀏覽此類型的.NET Framework 源代碼,請參閱 Reference Source。  public static class Tuple  {    // 返回結果:    //   一個元組,其值 (item1)。    public static Tuple<T1> Create<T1>(T1 item1);    // 返回結果:    //   一個 2 元組,其值 (item1, ,item2)。    public static Tuple<T1, T2> Create<T1, T2>(T1 item1, T2 item2);  }

提供用于創造元組對象的靜態方法

   備注:上述所指 Tuple 還不夠輕量級,是從某種意義上來說的或者是一種假設,即假設分配操作非常的多。

 C# 7 中的元組(ValueTuple)解決了上述兩個缺點:

   1)ValueTuple 支持語義上的字段命名,可以為每一個屬性名字自定義名稱.如(int first,int second) tuple=(1,2)。

   2)ValueTuple 是值類型(Struct)。

注:如果vs報沒有預定義類型ValueTuple<...>的錯誤時,需要使用nuget命令導入: Install - Package System.ValueTuple

源代碼如下(ValueTuple<...>內部原理):

public struct ValueTuple<T1, T2> : IEquatable<ValueTuple<T1, T2>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2>>, ITupleInternal  {    public T1 Item1;    public T2 Item2;    int ITupleInternal.Size    {      get      {        return 2;      }    }    public ValueTuple(T1 item1, T2 item2)    {      this.Item1 = item1;      this.Item2 = item2;    }     }

 總結:元組的出現在一定程度上簡化了面向對象,有些不必要或者很少使用的對象可以直接使用元組來返回,而不需要再通過類型的方式去返回

以上所述是小編給大家介紹的C#語法新特性之元組實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌兰县| 锦州市| 武宁县| 贵州省| 大英县| 济宁市| 平乡县| 金昌市| 海淀区| 自治县| 河西区| 邯郸市| 汾阳市| 大悟县| 醴陵市| 凤山县| 云安县| 长治县| 威海市| 新干县| 邹平县| 中山市| 枝江市| 乳源| 周宁县| 邻水| 共和县| 东丽区| 临泽县| 色达县| 崇文区| 得荣县| 安达市| 阿拉善左旗| 绥滨县| 额济纳旗| 江北区| 东平县| 和平县| 青田县| 肃南|