เป็นไปได้อย่างไรที่จะเริ่มต้น (กับ C # initializer) รายการสตริง? ฉันลองด้วยตัวอย่างด้านล่าง แต่มันไม่ทำงาน
List<string> optionList = new List<string>
{
"AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();
เป็นไปได้อย่างไรที่จะเริ่มต้น (กับ C # initializer) รายการสตริง? ฉันลองด้วยตัวอย่างด้านล่าง แต่มันไม่ทำงาน
List<string> optionList = new List<string>
{
"AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();
คำตอบ:
List<string> mylist = new List<string>(new string[] { "element1", "element2", "element3" });
new
อะไรอีกถ้าคุณเริ่มต้นด้วย{ }
Collections::Generic::List<int>^ mylist = gcnew Collections::Generic::List<int>(gcnew array<int>{0, 1, 2, 3, 4})
new String[]
ไม่มีประสิทธิภาพ?
เพิ่งลบออก()
ในตอนท้าย
List<string> optionList = new List<string>
{ "AdditionalCardPersonAdressType", /* rest of elements */ };
List<string> optionList = new List<string>() { "AdditionalCardPersonAdressType", /* rest of elements */ };
คุณต้องใช้มันเช่นนี้ หมายเหตุที่()
นี่: new List<string>()
.
คุณยังไม่ได้ถามคำถาม แต่ควรเป็นรหัส
List<string> optionList = new List<string> { "string1", "string2", ..., "stringN"};
เช่นไม่มีการต่อท้าย () หลังรายการ
var animals = new List<string> { "bird", "dog" };
List<string> animals= new List<string> { "bird", "dog" };
สองวิธีข้างต้นเป็นวิธีที่สั้นที่สุดโปรดดูที่https://www.dotnetperls.com/list
string[]
var animals = new List<string> { "bird", "dog" };
ไม่แนะนำในคำตอบที่ยอมรับ เพิ่มเติม(new string[]
คือคำสั่งเพิ่มเติมในคำตอบที่ยอมรับซึ่งสามารถหลีกเลี่ยงได้
ฟังก์ชั่นของคุณเป็นเพียงดี แต่ไม่ได้ทำงานเพราะคุณใส่หลังจากที่ผ่านมา()
}
หากคุณย้าย()
ไปที่ด้านบนถัดnew List<string>()
จากข้อผิดพลาดหยุด
ตัวอย่างด้านล่าง:
List<string> optionList = new List<string>()
{
"AdditionalCardPersonAdressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
};
นี่คือวิธีที่คุณเริ่มต้นและคุณสามารถใช้ List.Add () ในกรณีที่คุณต้องการทำให้มันเป็นแบบไดนามิกมากขึ้น
List<string> optionList = new List<string> {"AdditionalCardPersonAdressType"};
optionList.Add("AutomaticRaiseCreditLimit");
optionList.Add("CardDeliveryTimeWeekDay");
ด้วยวิธีนี้ถ้าคุณรับค่าจากจาก IO คุณสามารถเพิ่มลงในรายการที่จัดสรรแบบไดนามิก
ย้ายวงเล็บเหลี่ยมแบบนี้:
var optionList = new List<string>(){"AdditionalCardPersonAdressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"};
หนึ่งคุณลักษณะที่เย็นจริงๆคือรายการ initializer ผลงานได้ดีกับการเรียนที่กำหนดเองที่มากเกินไป: คุณจะมีเพียงที่จะใช้IEnumerableอินเตอร์เฟซและมีวิธีการที่เรียกว่าเพิ่ม
ตัวอย่างเช่นถ้าคุณมีคลาสที่กำหนดเองเช่นนี้:
class MyCustomCollection : System.Collections.IEnumerable
{
List<string> _items = new List<string>();
public void Add(string item)
{
_items.Add(item);
}
public IEnumerator GetEnumerator()
{
return _items.GetEnumerator();
}
}
สิ่งนี้จะได้ผล:
var myTestCollection = new MyCustomCollection()
{
"item1",
"item2"
}
List<string> animals= new List<string>();
animals.Add("dog");
animals.Add("tiger");
นี่คือวิธีที่คุณจะทำ
List <string> list1 = new List <string>();
อย่าลืมที่จะเพิ่ม
using System.Collections.Generic;