我有一个Person对象列表
class Person
{
string FirstName{get;set;}
int Age {get;set;}
}
现在在此Person对象列表中
Person1有FirstName =" Alan",Age = 20
第2个人拥有FirstName =" Josephine",年龄= 21
我需要获得一个新列表,其中每个列表项的第一个名称与年龄
连接我需要的列表:
艾伦:20
约瑟芬:21
......等等
到目前为止,我有这个......
var PersonConcatenatedList= from p in PersonList
select new {firstName= p.FirstName, Age=p.Age};
错误...但现在如何输出所需的列表格式? :(
任何帮助将不胜感激。感谢
答案 0 :(得分:3)
使用string.Join
:
var PersonConcatenatedList = PersonList
.Select(x => string.Join(":", x.FirstName, x.Age));
由于您需要一个字符串列表,因此不应创建任何类型的字符。简单的字符串连接也可以起作用:
PersonList.Select(x => x.FirstName + ":" + x.Age));
如果您希望输出为单个字符串,请通过string.Join
使用Environment.NewLine
并使用新行字符连接结果:
var output = string.Join(Environment.NewLine, PersonConcatenatedList);
答案 1 :(得分:1)
String.Join()
是一种方法。但对于良好的编程,我建议实施.ToString()
方法。
class Person
{
string FirstName { get; set; }
int Age { get; set; }
public override string ToString()
{
return this.FirstName + ":" + this.Age;
}
}
然后只需使用以下内容:
var result = personList.Select(person => person.ToString());