您的位置: 旅游網 > 八卦 >> 老公

    新特征之創建和初始化集合對象牛

    發布時間:2021-10-26 07:19:32

    、 引言

    C# 3.0中新的對象初始化器是一種簡單的語法特征-借助于這種特征,對象的構建和初始化變得非常簡單。假定你有一個類Student,它看起來有如下樣子:

    public class Student{

    public string firstName;

    public string lastName;

    }

    那么,你可以使用對象初始化器來創建這個類的一個對象,如下所示:

    var student1 = new Student{firstName = \"Bruce\", lastName = \"Willis\"};

    C# 3.0中新的集合初始化器語法也具有類似操作特征。例如,實現ollection<T>的任何對象都可以使用一個集合初始化器來初始化它的值。

    一個集合初始化器由下列部分組成:

    · 一個對象初始化器序列,用\"{\"和\"}\"符號包括,并且由逗號隔開。

    · 元素初始化器,它們中每一個都指定一個元素以被添加到指定的集合對象中(元素初始化器不能是一個集合初始化器中的賦值表達式)。

    那么,究竟它是如何工作的呢?一個集合初始化器必須遵循下列規則:

    · 應用集合初始化器的每一個集合對象必須是一種實現了ollection<T>的類型(恰好針對一個T)。

    · 必須存在從每一個元素初始化器到T類型的一種隱式轉換。一個集合初始化器針對每一個指定的元素都會按序調用ICollection<T>.Add(T)方法。

    作為一個例子,下面的集合初始化器創建并初始化一個新的字符串集合-這個集合具有3個成員:\"Alice\",\"Bob\"和\"Chris\",參考如下:

    List<string> names = new List<string> { \"Alice\", \"Bob\", \"Chris\" };

    注意:所有的初始值都是字符串類型。否則,你將得到一個編譯器錯誤。

    二、 實現集合初始化

    假定你想描述一個班及其中的注冊同學。為此,你可以通過使用C# 3.0中的集合初始化器編程實現,如下所示:

    using System;

    using neric;

    using xt;

    using ery;

    using inq;

    using inq;

    namespace CollectionInitializer

    {

    class Program

    {

    public class MyClass

    {

    public string nameofClass;

    public List<string> studentNames = new List<string>();

    }

    static void Main(string[] args)

    {

    var classes = new List<MyClass>

    {

    new MyClass

    {

    nameofClass = \"Science\",

    studentNames = {\"Laura\", \"George\"}

    },

    new MyClass

    {

    nameofClass = \"Commerce\",

    studentNames = {\"Bill\", \"Hillary\"}

    }

    };

    }

    }

    }

    如果你有Visual Studio 2005并且安裝了LINQ Preview,那么可以在IDE中編譯上面的代碼。

    如果你沒有VS 2005但是安裝了LINQ Preview,那么你可以使用下列命令來從命令行編譯該代碼:

    綽號:冬瓜前一頁[1][2][3][4][5][6]下一頁尾頁任家萱任容萱前一頁[1][2][3][4][5][6][7]下一頁尾頁前一頁[1][2][3][4][5][6][7][8]下一頁尾頁任容萱家庭成員 C:\\Program Files\\LINQ Preview\\Bin\\e

    /reference:\"C:\\Program Files\\LINQ Preview\\Bin\\l\"

    /reference:C:\\WINDOWS\\\\Framework\\v2.0.50727\\l

    /reference:C:\\WINDOWS\\\\Framework\\v2.0.50727\\l

    /reference:\"C:\\Program Files\\LINQ Preview\\Bin\\l\"

    /reference:C:\\WINDOWS\\\\Framework\\v2.0.50727\\l

    /reference:\"C:\\Program Files\\LINQ Preview\\Bin\\l\"

    賀州哪家治白癜風醫院好
    體質虛弱容易生病怎么調理
    南陽白癜風醫院
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: 久久久久久久综合日本| 伊人色综合久久天天人手人婷| 91av视频网站| 搡女人真爽免费视频大全软件| 亚洲国产欧美视频| 精品四虎免费观看国产高清午夜| 国产片**aa毛片视频| fc2成年免费共享视频网站| 日本精品少妇一区二区三区| 亚洲成年人专区| 秀婷和程仪全集| 国产亚洲精品第一综合| 夜夜爽免费视频| 天天操天天干天搞天天射| 久久久国产精品亚洲一区| 欧美性猛交xxxx乱大交蜜桃| 免费看无码特级毛片| 阿v视频免费在线观看| 国产精品久久国产精品99盘| www.91.av| 无码人妻丰满熟妇区五十路百度| 亚洲av无码兔费综合| 潘多拉铂金刊33刊无圣光| 啊灬啊灬别停啊灬用力啊免费 | 19岁rapper潮水第一集| 好男人视频在线观看免费看片| 久久久久大香线焦| 机机对机机120分免费无遮挡 | 无码av专区丝袜专区 | 顶级欧美色妇xxxxx| 国产精品哟哟视频| av色综合网站| 成人18视频日本| 久久久国产精品亚洲一区| 最近免费高清版电影在线观看| 亚洲日韩欧美一区久久久久我| 男人和男人一起差差| 午夜精品久久久久久| 一级特级黄色片| 日韩成人免费视频播放| 亚洲国产精品自产在线播放|