使用linq将值分配给新列表

sup*_*nja 4 c# linq

假设我有一个名为Company的班级

public class Company 
{
   public string name;
   public string id;
}
Run Code Online (Sandbox Code Playgroud)

我有一个名为CompanyList的列表

var companyList = new List<Company>();
Run Code Online (Sandbox Code Playgroud)

我想给这个空companyList变量分配名称=“ Company A”,id =“ 001” 。

我该怎么做?

 companyList.FirstOrDefault().Name = "Company A";
 companyList.FirstOrDefault().Id = "001";
Run Code Online (Sandbox Code Playgroud)

Jon*_*ood 6

在为集合中的公司分配值之前,必须将公司添加到集合中。您正在设置该公司的价值,而不是集合本身的价值。

使用以下任一方法:

var companyList = new List<Company>();
companyList.Add(new Company { Name = "Company A", Id = "001" });
Run Code Online (Sandbox Code Playgroud)

要么:

var companyList = new List<Company>();
companyList.Add(new Company());
// Assumes you want to modify the first company in the list
companyList[0].Name = "Company A";
companyList[0].Id = "001";
Run Code Online (Sandbox Code Playgroud)


Joh*_*nny 5

您可以使用集合初始化程序:

var companyList = new List<Company>{ new Company { Name = "Company A", Id = "001" } };
Run Code Online (Sandbox Code Playgroud)

实际上与波纹管相同,但更紧凑

var companyList = new List<Company>();
companyList.Add(new Company { Name = "Company A", Id = "001" });
Run Code Online (Sandbox Code Playgroud)