C# Linq使用distinct选择内部值 class-Foo { 公共列表bazs=新列表(); } Baz类 { public List ints=新列表(); } [测试]公共无效播放() { var foo=newfoo(); foo.bazs=新列表() { 新Baz() { ints=newlist(){1,2,3,4,5} }, 新Baz() { ints=newlist(){4,5,6,7,8} } }; IEnumerable结果=foo.baz .选择(x=>x.ints) .Distinct() .AsEnumerable(); //我期待一个IEnumerable 1,2,3,4,5,6,7,8 }
只需将C# Linq使用distinct选择内部值 class-Foo { 公共列表bazs=新列表(); } Baz类 { public List ints=新列表(); } [测试]公共无效播放() { var foo=newfoo(); foo.bazs=新列表() { 新Baz() { ints=newlist(){1,2,3,4,5} }, 新Baz() { ints=newlist(){4,5,6,7,8} } }; IEnumerable结果=foo.baz .选择(x=>x.ints) .Distinct() .AsEnumerable(); //我期待一个IEnumerable 1,2,3,4,5,6,7,8 },c#,linq,C#,Linq,只需将更改为。选择为。选择many可展平子列表: class Foo { public List<Baz> bazs = new List<Baz> (); } class Baz { public List<int> ints = new List<int> (); } [Test] public void play () { v
更改为。选择为。选择many
可展平子列表:
class Foo
{
public List<Baz> bazs = new List<Baz> ();
}
class Baz
{
public List<int> ints = new List<int> ();
}
[Test] public void play ()
{
var foo = new Foo ();
foo.bazs = new List<Baz> ()
{
new Baz ()
{
ints = new List<int> () {1, 2, 3, 4, 5}
},
new Baz ()
{
ints = new List<int> () {4, 5, 6, 7, 8}
}
};
IEnumerable<int> result = foo.bazs
.Select (x => x.ints)
.Distinct ()
.AsEnumerable ();
// I'm expecting an IEnumerable<int> 1,2,3,4,5,6,7,8
}
@马特:我想是越来越难理解了
.SelectMany (x => x.ints)