C# 如何使用LINQ将类属性列表转换为字符串?
我有以下课程:C# 如何使用LINQ将类属性列表转换为字符串?,c#,linq,C#,Linq,我有以下课程: public class Person { public string FirstName = string.Empty; public string LastName = string.Empty; } 以及该类别的列表: List<Person> listOfPeople = new List<Person>(); 一个简单的Select与字符串组合。Join将为您提供所需 string firstN
public class Person
{
public string FirstName = string.Empty;
public string LastName = string.Empty;
}
以及该类别的列表:
List<Person> listOfPeople = new List<Person>();
一个简单的
Select
与字符串组合。Join
将为您提供所需
string firstNames = string.Join(", ", listOfPeople.Select(p=>p.FirstName));
根据您使用的.Net版本的不同,您可能还需要在Select
之后添加一个ToArray
,作为字符串的重载。在.Net 4之前,没有添加使用IEnumerable
的Join
请注意将公共字段转换为属性。
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Person()
{
FirstName = string.Empty;
LastName = string.Empty;
}
}
您可以使用linq聚合函数来实现这一点
listOfPeople.Select(person => person.FirstName).Aggregate((i, j) => i + ", " + j);
谢谢你的快速回答。注意这相当于做。
listOfPeople.Select(person => person.FirstName).Aggregate((i, j) => i + ", " + j);