C# 连接列表项属性

C# 连接列表项属性,c#,generics,C#,Generics,我正在寻找一种优雅的方法来创建一个可读的表单,Generic.List中所有项的某些属性 让我用一个例子来说明这一点。我的数据结构如下: public class InfoItem { public string Name { get; set; } public string Description { get; set; } } 下面是我将如何在代码中使用它: List<InfoItem> data = new List<InfoItem>(); d

我正在寻找一种优雅的方法来创建一个可读的表单,
Generic.List
中所有项的某些属性

让我用一个例子来说明这一点。我的数据结构如下:

public class InfoItem {
    public string Name { get; set; }
    public string Description { get; set; }
}
下面是我将如何在代码中使用它:

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" });
只需使用和:

轻松的


假设v4+(我认为这是一个很好的假设),否则您将不得不转换为
string[]
而不是
IEnumerable
谢谢,它工作得几乎完美!由于是.Net 3.5,我仍然必须在
之后添加
.ToArray()
。选择
。没问题。我的假设毕竟是错误的:),但我知道你已经处理好了。
string readableNames = "";
foreach (var item in data) {
    readableNames += item.Name + ", ";
}
readableNames = readableNames.TrimEnd(new char[] { ',', ' ' });
string readableNames = string.Join(", ", data.Select(i => i.Name));
var str = String.Join(", ", data.Select(x => x.Name));