连接列表项属性

时间:2013-05-30 10:29:47

标签: c# generics

我正在寻找一种优雅的方式来创建一个可读形式的所有项目的一些属性{/ 1}}。

让我举一个例子来说明。我有这样的数据结构:

Generic.List

以下是我在代码中使用它的方法:

public class InfoItem {
    public string Name { get; set; }
    public string Description { get; set; }
}

现在,我想要的是一个像#34;德国,日本,奥地利和#34;的字符串。是否有一些LINQ或泛型魔法比这个原始循环更好?

List<InfoItem> data = new List<InfoItem>();
data.Add(new InfoItem() { Name = "Germany", Description = "Describes something" });
data.Add(new InfoItem() { Name = "Japan", Description = "Describes something else" });
data.Add(new InfoItem() { Name = "Austria", Description = "And yet something else" });

2 个答案:

答案 0 :(得分:4)

只需使用string.JoinEnumerable.Select

string readableNames = string.Join(", ", data.Select(i => i.Name));

答案 1 :(得分:2)

var str = String.Join(", ", data.Select(x => x.Name));