我有一个类Foo如下.
public class Foo
{
public string Name { get; set; }
public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个这个类的集合让我们说List,有时我在集合中有如下数据.
Name Value Jimmy hello Jimmy World Peter how Peter are you? Suzanne I am fine
我想将相同名称的值字段组合为folows
Name Value Jimmy hello World Peter how are you? Suzanne I am fine
无论如何,这可以使用Linq完成吗?
您可以使用Linq GroupBy如下:
fooCollection.GroupBy(foo => foo.Name)
// create a new "Foo" object based on each grouping
.Select(g => new Foo() {
// "Name" becomes the group key (ie, "Jimmy", "Peter", etc)
Name = g.Key,
// "Value" becomes the Value for all Foo in this group, concatenated
Value = string.Join(" ", g.Select(item => item.Value).ToArray())
})
.ToArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |