C#:创建类列表"List<Class>"并插入数据列表



假设您有一个类列表,并且希望从其他列表中添加其他信息。如何创建两个或多个对象实例并插入另一个列表集合中的数据?参见下面的示例代码:

using System;
using System.Collections.Generic;

class Person
{
public string Fname {get; set;}
public string Lname {get; set;}
public int age {get; set;}
}
class MainTest {
static void Main() {

//Console.WriteLine();
List<string> FNames = new List<string> { "Ben", "John" };
List<string> LNames = new List<string> { "Park", "Wilson" };
List<int> Ages = new List<int> { 20,25};
List<Person> PersonsL = new List<Person>();
//Person = new Person();

for (int i=0;i<2;i++)
{
Person = new Person();
foreach (Person datas in PersonsL)
{
datas.Fname = FNames[i];
datas.Lname = LNames[i];
datas.age = Ages[i];
}
}

}
}

您可以使用Zip-linq

List<Person> PersonsL = FNames.Zip(LNames, Ages)
.Select(fn => new Person {Fname=fn.First,Lname=fn.Second,age=fn.Third} ).ToList();

如果你需要,你可以把它添加到另一个列表

anotherList.AddRange(PersonL);

您不需要对PersonL进行迭代,因为这个列表实际上没有元素。只需致电PersonL.Add:

using System;
using System.Collections.Generic;
class Person
{
public string Fname {get; set;}
public string Lname {get; set;}
public int age {get; set;}
}
class MainTest 
{
static void Main() {

//Console.WriteLine();
List<string> FNames = new List<string> { "Ben", "John" };
List<string> LNames = new List<string> { "Park", "Wilson" };
List<int> Ages = new List<int> { 20,25};
List<Person> PersonsL = new List<Person>();
for (int i=0;i<2;i++)
{
var p = new Person();
p.Fname = FNames[i];
p.Lname = LNames[i];
p.age = Ages[i];
PersonL.Add(p)
}
}
}

或者,您也可以使用对象初始值设定项:

PersonL.Add(new Person { Fname = FNames[i], Lname = LNames[i], age = Ages[i] });

最新更新