欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年04月11日 11:57:49   作者:jovenlee  
元組(Tuple)在4.0 的時候就有了,但元組也有些缺點,具體那些缺點,本文給大家介紹的非常詳細,本文重點給大家C#語法新特征之元組,感興趣的朋友一起學習吧

1.元組(Tuple)

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

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

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

源代碼如下:

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

提供用于創(chuàng)造元組對象的靜態(tài)方法

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

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

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

   2)ValueTuple 是值類型(Struct)。

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

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

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;
    }
     }

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

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

相關(guān)文章

  • 全面分析c# LINQ

    全面分析c# LINQ

    這篇文章主要介紹了c# LINQ的相關(guān)資料,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-08-08
  • C#實現(xiàn)備忘錄功能

    C#實現(xiàn)備忘錄功能

    這篇文章主要為大家詳細介紹了C#實現(xiàn)備忘錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 詳解C#中的屬性和屬性的使用

    詳解C#中的屬性和屬性的使用

    這篇文章主要介紹了C#中的屬性和屬性的使用,包括get訪問器和set訪問器等內(nèi)容,需要的朋友可以參考下
    2016-01-01
  • WinForm遍歷窗體所有子控件的方法

    WinForm遍歷窗體所有子控件的方法

    這篇文章主要介紹了WinForm遍歷窗體所有子控件的方法,涉及C#遞歸遍歷相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 基于C#設(shè)計一個雙色球選號工具

    基于C#設(shè)計一個雙色球選號工具

    這篇文章主要為大家詳細介紹了如何利用C#設(shè)計實現(xiàn)一個雙色球選號工具,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • C#判斷訪問來源是否為搜索引擎鏈接的方法

    C#判斷訪問來源是否為搜索引擎鏈接的方法

    這篇文章主要介紹了C#判斷訪問來源是否為搜索引擎鏈接的方法,實例分析了C#解析URL來源的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 基于C#實現(xiàn)鼠標設(shè)置功能

    基于C#實現(xiàn)鼠標設(shè)置功能

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)鼠標設(shè)置功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#實戰(zhàn)之備忘錄的制作詳解

    C#實戰(zhàn)之備忘錄的制作詳解

    這篇文章主要為大家介紹了如何利用C#制作一個備忘錄,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以學習一下
    2022-02-02
  • C#抓取網(wǎng)絡(luò)圖片保存到本地的實現(xiàn)方法

    C#抓取網(wǎng)絡(luò)圖片保存到本地的實現(xiàn)方法

    下面小編就為大家分享一篇C#抓取網(wǎng)絡(luò)圖片保存到本地的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • C# GetMethod方法的應用實例講解

    C# GetMethod方法的應用實例講解

    GetMethod 是獲取當前 Type 的特定方法,具有多個重載, GetMethod 即使用指定的綁定約束搜索指定方法,本文給大家介紹了C# GetMethod方法的應用實例,需要的朋友可以參考下
    2024-04-04

最新評論