// 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直接出來的是簡單屬性,無需另外多寫乙個私有字...