可以使用Tuple
來存儲信息,並Zip
方法採取信息從兩個列表,這樣
List<Tuple<string, string>> bothLists = Name.Zip(Address, (n, a) => new Tuple<string, string>(n, a)).ToList();
但我認爲最好的方法是創建與您的域類:
public class Person
{
public string Name { get; set; }
public string Address { get; set; }
}
然後
List<Person> bothLists = Name.Zip(Address, (n, a) => new Person{Address = a, Name = n}).ToList();
但是,如果你有多個列表,你需要嵌套多個拉鍊,這是不漂亮。如果你是當然所有列表都有相同數量的元素,只是遍歷它們。
在LINQ:
List<Person> multipleLists = Name.Select((t, i) => new Person
{
Name = t, Address = Address[i], ZipCode = ZipCode[i]
}).ToList();
沒有LINQ(嚴重的是,有沒有錯,一個for循環)
List<Person> multipleLists = new List<Person>();
for (int i = 0; i < Name.Count; i++)
{
multipleLists.Add(new Person
{
Name = Name[i],
Address = Address[i],
ZipCode = ZipCode[i]
});
}
你也可以使用一個Tuple<string, string, string, [...]>
如果你想遠離班了。
你的意思是Dictionary? –
HOKBONG