C 3 0新增功能快速預覽

2021-04-14 23:59:32 字數 1976 閱讀 6128

// if a query produces a sequence of anonymous types,

// then you must also use var in the foreach statement.

var upperlowerwords =

from w in words

select new ;

// execute the query

foreach (var ul in upperlowerwords)

, lowercase: ", ul.upper, ul.lower);

}}       

}2.更加靈活的物件構造方式:

private class cat

public string name

}static void methoda();}

3.集合裝配的特殊方法:

ienumerablehighscoresquery =

from score in scores

where score > 80

orderby score descending

select score;

4.對已存在的型別定義進行方法擴充套件:

namespace extensionmethods

, stringsplitoptions.removeemptyentries).length;

}}  

}using extensionmethods;

string s = "hello extension methods";

int i = s.wordcount();

5.隱式集合型別定義:

var v = new ;

var productquery =

from prod in products

select new ;

foreach (var v in productquery)

, price=", v.color, v.price);

}6.lambda語法:

delegate int del(int i);

del mydelegate = x => x * x;

int j = mydelegate(5); //j = 25

7.查詢語法:

class lownums

;// create the query.

// lownums is an ienumerable

var lownums = from num in numbers

where num < 5

select num;

// execute the query.

foreach (int i in lownums)

}       

}// output: 4 1 3 2 0

8.智慧型簡約的訪問器宣告:

class lightweightcustomer

public string name // read-only

public int customerid // read-only

}lightweightcustomer obj = new lightweightcustomer();

obj.totalpurchases = 1;

console.writeline(obj.totalpurchases.tostring());

9.支援藉口,類,結構,方法,特性的partial宣告:

partial class earth : planet, irotate

partial class earth : irevolve

[system.serializableattribute]

partial class moon

[system.obsoleteattribute]

partial class moon

c 3 0新增特性

c 3.0引入了乙個叫做 var 的新關鍵字。這個關鍵字允許開發者建立乙個變數,但不必明確它的型別。例如,用var說明乙個字串,就像這樣 c 3.5新特性參見 varmydata this is my data 注意,這裡並沒有提到mydata變數是乙個字串,而c 2.0卻要求這一點。雖然var允許...

C 3 0新增功能05 分部方法

分部類或結構可以包含分部方法。類的乙個部分包含方法的簽名。可以在同一部分或另乙個部分中定義可選實現。如果未提供該實現,則會在編譯時刪除方法以及對方法的所有呼叫。分部方法使類的某個部分的實施者能夠定義方法 類似於事件 類的另一部分的實施者可以決定是否實現該方法。如果未實現該方法,編譯器會刪除方法簽名以...

C 3 0語法簡介

using system using system.collections.generic using system.windows.forms static class program public class testcsharp3 新特性1 prop直接出來的是簡單屬性,無需另外多寫乙個私有字...