มีวิธีเริ่มต้น NVC โดยใช้ไวยากรณ์ C # collection initializer หรือไม่:
NameValueCollection nvc = new NameValueCollection() { ("a", "1"), ("b", "2") };
ขอบคุณ
มีวิธีเริ่มต้น NVC โดยใช้ไวยากรณ์ C # collection initializer หรือไม่:
NameValueCollection nvc = new NameValueCollection() { ("a", "1"), ("b", "2") };
ขอบคุณ
คำตอบ:
ใช่; เพียงแค่ใช้เครื่องหมายวงเล็บแทนวงเล็บ
var nvc = new NameValueCollection { {"a", "1"}, {"b", "2"} };
คุณสามารถเรียกใช้Addเมธอดด้วยชุดพารามิเตอร์โดยพลการโดยใช้ไวยากรณ์
NameValueCollectionยอมรับไวยากรณ์นี้: msdn.microsoft.com/en-us/library/bb384062.aspx
Dictionary<K,V>เริ่มต้น "หรือคอลเล็กชันใด ๆ ที่วิธีการเพิ่มใช้พารามิเตอร์หลายตัว" msdn.microsoft.com/en-us/library/bb531208.aspx
คุณสามารถใช้ collection initializers กับทุกสิ่งที่มีAddวิธีการ ใช่เป็ดพิมพ์ หากAddมีมากกว่า 1 พารามิเตอร์ให้ใส่ทูเปิลในวงเล็บปีกกา:
NameValueCollection nvc = new NameValueCollection() { { "a", "1" }, { "b", "2" } };
IEnumerableก็จะต้องดำเนินการ
System.Collections.IEnumerableAND มีAddวิธีการรับอาร์กิวเมนต์อย่างน้อย 1 รายการ
NameObjectCollectionBaseที่ใช้IEnumerable. เป็นบทเรียนสำหรับฉันก่อนหน้านี้หากคุณต้องการตรวจสอบว่าการนำไปใช้คืออะไรตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบประเภทพื้นฐานทั้งหมดSystem.Objectแล้ว