f.對象初始化器(Object initializers)
這個是方 便我定義對象時,省去一大堆的構造器。同時也方便了我們實例化。
例 如: Bunny b1 = new Bunny { Name="Bo", LikesCarrots=true, LikesHumans=false };
g.隱式類型數組(Implicitly typed arrays)
這個跟隱式類型變量定義差不多,只是她是數組。
例 如: var dudes = new[]
{
new { Name = "Bob", Age = 20 },
new { Name = "Rob", Age = 30 }
};
h.自動屬性(Automatic propertIEs)
又一個語法糖 (syntactic sugar),為了我們這些代碼工人省力而做的。
例 如:
public class Stock
{
// C# 3.0:
public decimal X { get; set; }
// C# 2.0:
private decimal y;
public decimal Y
{
get { return y; }
set { y = value; }
}
}
I.部分方法(Partial methods)
這用處就是我們一個方 法裡可能需要調用另外一個未定義或定義好的方法,她可能暫時用不上。部分方 法就是為她設計的。
例如:
partial class PaymentForm
{
partial void ValidatePayment (decimal amount); //部分方法的申明
}
///部分方法的定義
partial class PaymentForm
{
partial void ValidatePayment (decimal amount)
{
if (amount > 100)
}
}
///調用
Static void Main()
{
PaymentForm form=new PaymentFrom();
Form.ValidatePayMent(5.3); ///如果沒有定義上面的方法,也不會報錯。
}
j.表達樹(Expression trees)
這個不多說了,以後會說 到。
例如:
string[] names = { "Tom", "Dick", "Harry" };
IEnumerable<string> filteredNames = // Include only names
Enumerable.Where (names, n => n.Length >= 4); // of >= 4 characters.
以上都c#3.0新出的特性,行內都說是語法糖。呵呵 !以後的文章會詳細說這些東西的。
後記
本人學習中,錯誤難免 ,敬請指教,謝謝!