从对象属性列表创建分隔列表



我有一个对象列表,对象上的属性之一是字符串。

有没有办法使用 Join 和 Linq 在一行代码中创建字符串属性的分隔列表?如果不是,完成此操作的最少代码量是多少?

例:

public class MyObject
{
   public int MyInt { get; set; }
   public string MyString  { get; set; }
}

我想使用 Join 创建一个字符串,其中包含 MyObject 中所有MyString值的分隔列表。

像这样的东西——

List<MyObject> myObjectList = GetMyObjectList(); //Contains a list of MyObject 
//I want to do something like this
string MyListOfMyStrings = String.Join(",", myObjectList.ForEach(x => x.Mystring)); 

MyListOfMyStrings将被设置为myObjectList内所有对象的MyString值的分隔列表。

您希望将使用 ForEach 的位置替换为如下所示的 linq 语句:

string MyListOfMyStrings = String.Join(",", (from myObject in myObjectList select myObject.MyString).ToArray());

请参阅 MSDN linq 指南

最新更新