如何从指定数量的模型/类创建列表列表?

时间:2013-10-24 18:32:31

标签: c# reflection

嗯,这个问题的标题/怀疑我认为这是非常不言自明的,但是这里的想法(使用简单的术语): 我有文件(在一个项目中),它包含一个类(每个'em),它有对象和方法(From Models),其中一个方法返回一个List。我想创建另一个类来生成一个新的List,它将包含上面提到的所有列表。如果这主要在C#中可行,我将非常感谢您对如何创建它的观点。提前感谢提示,帮助和善意!!!

我希望你能理解我,因为我在描述问题上非常糟糕。 :d

1 个答案:

答案 0 :(得分:0)

您正在寻找的是SelectMany:

#region Terrible Object

var hasAllTheItems =
        new[]
        {
                new[]
                {
                        new
                        {
                                Name = "Test"
                        }
                },
                new[]
                {
                        new
                        {
                                Name = "Test2"
                        },
                        new
                        {
                                Name = "Test3"
                        }
                }
        };

#endregion Terrible Object

var a = hasAllTheItems.Select(x => x.Select(y => y.Name));
var b = hasAllTheItems.SelectMany(x => x.Select(y => y.Name));
var c = hasAllTheItems.Select(x => x.SelectMany(y => y.Name));
var d = hasAllTheItems.SelectMany(x => x.SelectMany(y => y.Name));

Assert.AreEqual(2, a.Count());
Assert.AreEqual(3, b.Count());
Assert.AreEqual(2, c.Count());
Assert.AreEqual(14, d.Count());

A: {{Test}, {Test2, Test3}}

B: {Test, Test2, Test3}

C: {{T, e, s, t}, {T, e, s, t, 2, T, e, s, t, 3}}

D: {T, e, s, t, T, e, s, t, 2, T, e, s, t, 3}