中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#3.0中對象初始化器和集合初始化器怎么理解

發布時間:2021-12-01 09:53:32 來源:億速云 閱讀:150 作者:iii 欄目:編程語言

這篇文章主要講解了“C#3.0中對象初始化器和集合初始化器怎么理解”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#3.0中對象初始化器和集合初始化器怎么理解”吧!

關于對象初始化器(Object Initializers) 的一些問題:

問題一: 對象初始化器允許只給部分值賦值么?即不給其中一些值賦值

答案:允許;參考后面的代碼。

問題二:對象初始化器允許給internal 的成員賦值?(私有成員肯定不用想了,肯定不能賦值。)

答案:允許;參考下面的代碼。

public class Person  {  public string FirstName { get; set; }  public string LastName { get; set; }  public int Age { get; set; }  private int test01 = 25;  internal int test02;  }  class Program  {  static void Main(string[] args)  {  Person person = new Person { FirstName = "Scott", LastName = "Guthrie", test02 = 56, };  Console.WriteLine(person.test02);  Console.WriteLine(person.Age);  Console.ReadLine();  }  }

問題三:對象初始化器是否可以結合構造函數一起使用?

答案:可以參看如下代碼就可以正常使用:

var cookie3 = new System.Net.Cookie("MyCookie", "Jose") { Comment = "a cookie" };

我們在構造函數中給 Cookie 的名字和值賦了值,在初始化構造器中給 Comment 屬性賦了值。

問題四:構造函數賦值和初始化構造器賦值那個***被執行?

比如下述代碼,結果是那個呢??

static void Main(string[] args)  {  var cookie = new System.Net.Cookie("MyCookie", "Jose") { Name = "test02", Comment = "a cookie" };  Console.WriteLine(cookie.Name);  Console.ReadLine();  }

答案:

構造函數比初始化構造器更早被執行。

上述WriteLine 寫出來的信息為:test02

集合初始化器(Collection Initializers) 的一些問題:

問題一:集合初始化構造器中是否可以構造集合的一項為空值?

答案:可以,參看下述代碼。

問題二:集合初始化構造器是否可以初始化Hashtable ?

答案:可以。這時候相當于用了兩個對象初始化構造器,參看下面代碼:

public class Person  {  public string FirstName { get; set; }  public string LastName { get; set; }  public int Age { get; set; }  private int test01 = 25;  internal int test02;  }  class Program  {  static void Main(string[] args)  {  List<Person> people = new List<Person>{  new Person { FirstName = "Scott", LastName = "Guthrie", Age = 32 },  new Person { FirstName = "Bill", LastName = "Gates", test02 = 85},  new Person { FirstName = "Susanne", Age = 32 },  null,  };  Hashtable pp = new Hashtable {   { 1, new Person { FirstName = "Scott", LastName = "Guthrie", Age = 32 } },  { 2, new Person { FirstName = "Bill", LastName = "Gates", test02 = 85} },  { 3, new Person { FirstName = "Susanne", Age = 32 } },  { 4, null },  };  Console.ReadLine();  }  }

感謝各位的閱讀,以上就是“C#3.0中對象初始化器和集合初始化器怎么理解”的內容了,經過本文的學習后,相信大家對C#3.0中對象初始化器和集合初始化器怎么理解這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 大连市| 自贡市| 离岛区| 乐亭县| 雷波县| 监利县| 津南区| 车致| 涟源市| 福安市| 山丹县| 宜都市| 澎湖县| 德安县| 凤冈县| 维西| 舒兰市| 黑龙江省| 兴业县| 广宁县| 高清| 隆德县| 收藏| 察哈| 泾阳县| 平塘县| 类乌齐县| 余庆县| 蒲江县| 上饶市| 吉木萨尔县| 彩票| 孝感市| 保定市| 旺苍县| 五华县| 德清县| 元阳县| 徐州市| 长沙市|