程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 《C#3.0 in a Nutshell,3rd Edition》之C#3.0和.net3.5基本介紹(3)

《C#3.0 in a Nutshell,3rd Edition》之C#3.0和.net3.5基本介紹(3)

編輯:關於C語言

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新出的特性,行內都說是語法糖。呵呵 !以後的文章會詳細說這些東西的。

後記

本人學習中,錯誤難免 ,敬請指教,謝謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved