C# 使用linq从列表中对象的属性值构建字符串
我有一个员工列表,我想构建一个字符串,用逗号分隔所有员工的姓氏。 样本数据:C# 使用linq从列表中对象的属性值构建字符串,c#,vb.net,linq,C#,Vb.net,Linq,我有一个员工列表,我想构建一个字符串,用逗号分隔所有员工的姓氏。 样本数据: Emp1.LastName = "A" Emp2.LastName = "B" Emp3.LastName = "C" Dim listing As List(Of Employee) dim flatted as string 最后我想得到 flatted = "A,B,C" 关键是我想用linq vb或c来做这件事,这是用c来做的。我用的是一个稍微不同的类人,而不是雇员,但代码最终是一样的 // Make
Emp1.LastName = "A"
Emp2.LastName = "B"
Emp3.LastName = "C"
Dim listing As List(Of Employee)
dim flatted as string
最后我想得到
flatted = "A,B,C"
关键是我想用linq vb或c来做这件事,这是用c来做的。我用的是一个稍微不同的类人,而不是雇员,但代码最终是一样的
// Make some experimental data...
List<Person> peeps = new List<Person>()
{
new Person() { FirstName = "Frank", LastName = "Jax" },
new Person() { FirstName = "Anne", LastName = "Wax" },
};
// This will select all of the last names from the list of people, and join them with commas.
string lastNames = string.Join(",", (from x in peeps select x.LastName));
类似于以下的方法应该可以工作:
List<Person> people = new List<Person>();
people.Add(new Person() { LastName = "A" });
people.Add(new Person() { LastName = "B" });
people.Add(new Person() { LastName = "C" });
var lastNames = (from person in people
select person.LastName);
var result = string.Join(",", lastNames);
Console.WriteLine(result);
List<Person> people = new List<Person>();
people.Add(new Person() { LastName = "A" });
people.Add(new Person() { LastName = "B" });
people.Add(new Person() { LastName = "C" });
var lastNames = (from person in people
select person.LastName);
var result = string.Join(",", lastNames);
Console.WriteLine(result);