.net – 将多个数组聚合成一个数组(Linq)
发布时间:2020-05-27 15:23:43 所属栏目:程序设计 来源:互联网
导读:我将多个数组聚合成一个“大数组”时遇到困难,我认为这应该是可能的,但我不能让我的头 考虑一些返回一些dummyObject数组的方法 public class DummyObjectReceiver { public DummyObject[] GetDummyObjects { -snip- }} 现在我有这个地方: public class Temp{
我将多个数组聚合成一个“大数组”时遇到困难,我认为这应该是可能的,但我不能让我的头 考虑一些返回一些dummyObject数组的方法 public class DummyObjectReceiver { public DummyObject[] GetDummyObjects { -snip- } } 现在我有这个地方: public class Temp { public List<DummyObjectReceiver> { get; set; } public DummyObject[] GetAllDummyObjects () { //here's where I'm struggling (in linq) - no problem doing it using foreach'es... ;) } } 希望有一点清楚我想要实现的目标 public class DummyObject { public string Name; public int Value; } public class DummyObjectReceiver { public DummyObject[] GetDummyObjects() { return new DummyObject[] { new DummyObject() { Name = "a",Value = 1 },new DummyObject() { Name = "b",Value = 2 } }; } } public class Temp { public List<DummyObjectReceiver> Receivers { get; set; } public DummyObject[] GetAllDummyObjects() { return Receivers.SelectMany(r => r.GetDummyObjects()).OrderBy(d => d.Value).ToArray(); } } 例: Temp temp = new Temp(); temp.Receivers = new List<DummyObjectReceiver>(); temp.Receivers.Add(new DummyObjectReceiver()); temp.Receivers.Add(new DummyObjectReceiver()); temp.Receivers.Add(new DummyObjectReceiver()); DummyObject[] result = temp.GetAllDummyObjects(); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |