最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入了解c# 匿名類(lèi)型

 更新時(shí)間:2020年07月17日 10:31:18   作者:a  
這篇文章主要介紹了c# 匿名類(lèi)型的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

一、什么叫做匿名類(lèi)?

  匿名類(lèi)就是沒(méi)有名字的類(lèi)。匿名類(lèi)不能被引用,只能再創(chuàng)建的時(shí)候用new語(yǔ)句來(lái)聲明。

二、匿名類(lèi)的優(yōu)勢(shì)以及應(yīng)用場(chǎng)景;

  1、匿名類(lèi)型提供了一種方便的方法,可以用來(lái)將一組只讀屬性封裝到單個(gè)的對(duì)象中,而且并不需要首先顯示定義一個(gè)類(lèi)型。

  2、類(lèi)型名由編譯器生成,并且不能在源代碼級(jí)使用。每個(gè)屬性的類(lèi)型由編譯器推斷。

  3、可通過(guò)是用new運(yùn)算符和對(duì)象初始值創(chuàng)建匿名類(lèi)型。

  4、匿名類(lèi)型通常用在查詢(xún)表達(dá)式的 Select 子句中,以便返回原序列中每個(gè)對(duì)象的屬性子集(Linq 中使用的比較多)。

三、匿名類(lèi)的應(yīng)用; 

//匿名類(lèi)型
var news = new {title="冰紅茶",day="2019-4-10",author="康師傅"};
showInfo(news);  
//
static void ShowInfo<T>(T news)
{
  dynamic d = news;
  Console.WriteLine(d.title);
  Console.WriteLine(d.day);
  Console.WriteLine(d.author);
}

四、var隱式類(lèi)型;

  隱式類(lèi)型var,聲明變量是無(wú)需指定數(shù)據(jù)類(lèi)型的,編譯器會(huì)根據(jù)賦值判斷其類(lèi)型的一種機(jī)制,它的優(yōu)勢(shì)就在于,通過(guò)var這個(gè)隱式類(lèi)型,可以提高開(kāi)發(fā)人員的開(kāi)發(fā)效率,很多時(shí)候可以不考慮對(duì)象的類(lèi)型。

五、var 的使用規(guī)則;

  1、var 類(lèi)型會(huì)被編譯器根據(jù)初始值的類(lèi)型推斷出具體的類(lèi)型;

  2、var 類(lèi)型的局部變量必須賦予初始值;

  3、無(wú)法將null賦值給隱式類(lèi)型的局部變量;

  4、var 類(lèi)型變量的定義必須是在方法中或者在屬性get、set 訪問(wèn)器中;

  5、var 不能做方法的參數(shù);

  6、不能當(dāng)作返回值類(lèi)型;

  7、語(yǔ)句中只能聲明一次變量,聲明后不能更改類(lèi)型;

六、匿名方法;

  匿名方法是C#2.0引入的一個(gè)新的特性,它允許開(kāi)發(fā)者內(nèi)聯(lián)(inline)聲明自己的函數(shù)代碼而無(wú)須使用委托函數(shù)(delegate function)。

  匿名方法的應(yīng)用場(chǎng)景:

            1、需要一個(gè)臨時(shí)方法,這個(gè)方法使用次數(shù)極少;

            2、這個(gè)方法的代碼很短,甚至可能比方法聲明都短的情況下使用;

七、匿名方法的實(shí)例:

/*匿名方法的演化過(guò)程*/MySumHandler m1 = new MySumHandler(Sum);
m1(2,3);
MySumHandler m2 = Sum;
m2(3,4);


//匿名方法,C#2.0
MySumHandler m3 = delegate(int i, int j){Console.WriteLine("{0}+{1}={2}",i,j,(i+j));};
m3(5,6);

//lambda,表達(dá)式C#3.0
MySumHandler m4 = (i,j)=>{Console.WriteLine("{0}+{1}={2}",i,j,(i+j));};

八、Func和Action的使用:

  Func<TResult>和Action<T>是.NET的內(nèi)置委托。Func<TResult>要求由返回值。Action<T>要求無(wú)返回值。

  在使用時(shí),F(xiàn)unc<T1,T2,……,T16,TResult>中尖括號(hào)中的最后一個(gè)類(lèi)型就是返回值。

  Action<T1,T2,……,T16>,T1 至 T16 是參數(shù)。

以上就是深入了解c# 匿名類(lèi)型的詳細(xì)內(nèi)容,更多關(guān)于C# 匿名類(lèi)型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

苍南县| 玉溪市| 阿合奇县| 平塘县| 桃园市| 新乐市| 八宿县| 枝江市| 河津市| 永福县| 玉屏| 北票市| 霍林郭勒市| 石门县| 深州市| 巩义市| 高陵县| 延吉市| 武胜县| 惠水县| 达孜县| 泸定县| 屏南县| 阿勒泰市| 绥芬河市| 高唐县| 平顶山市| 仙居县| 江西省| 诏安县| 定远县| 盐城市| 时尚| 曲周县| 天全县| 东明县| 南开区| 九龙坡区| 太湖县| 乌海市| 宁化县|