มีวิธีเริ่มต้น 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.IEnumerable
AND มีAdd
วิธีการรับอาร์กิวเมนต์อย่างน้อย 1 รายการ
NameObjectCollectionBase
ที่ใช้IEnumerable
. เป็นบทเรียนสำหรับฉันก่อนหน้านี้หากคุณต้องการตรวจสอบว่าการนำไปใช้คืออะไรตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบประเภทพื้นฐานทั้งหมดSystem.Object
แล้ว