好吧,这个问题/疑问的标题我认为这是不言自明的,但是这里有这个想法(使用简单的术语):我有文件(在一个项目中),其中包含一个类(每个类)对象和方法(来自模型),其中一种方法返回一个列表。我想创建另一个类来生成一个包含上述所有列表的新列表。如果这主要在 C# 中是可能的,我将不胜感激您对如何创建它的观点。在此先感谢您的提示、帮助和善意!!!
我希望你能理解我,因为我很不擅长描述问题。:D
好吧,这个问题/疑问的标题我认为这是不言自明的,但是这里有这个想法(使用简单的术语):我有文件(在一个项目中),其中包含一个类(每个类)对象和方法(来自模型),其中一种方法返回一个列表。我想创建另一个类来生成一个包含上述所有列表的新列表。如果这主要在 C# 中是可能的,我将不胜感激您对如何创建它的观点。在此先感谢您的提示、帮助和善意!!!
我希望你能理解我,因为我很不擅长描述问题。:D
您正在寻找的是 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}