我有一个对象列表,对象上的属性之一是字符串。
有没有办法使用 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 指南