public class Buddy
{
public string[] Sayings;
}
Buddy one = new Buddy();
one.Sayings = new[] {"cool", "wicked", "awesome"};
Buddy two = new Buddy();
two.Sayings = new[] {"bad", "lame", "boring"};
Buddy[] buddies = new[] {one, two};
IEnumerable<string[]> something =
from b in buddies
select b.Sayings;
所以基本上我想得到一个数组或列表,其中包含{"cool, wicked, awesome, "bad", "lame", "boring"} 每个使用 linq 的好友的谚语。
我尝试了所有我能想到的方法,但我开始怀疑它能否仅用一个 linq 表达式来完成。我可以遍历好友中的每个好友,然后将 Sayings 添加到列表中,但我想既然我正在学习 linq,我会尝试这种方式。有可能吗?如果有的话怎么办?如果我想在 Buddy 中获取一些其他对象,这也适用,在这种情况下,它只是字符串列表。
最佳答案
这个怎么样:
var result2 = buddies.SelectMany(b => b.Sayings);
关于c# - 使用 linq 表达式从对象集合中获取单个数组或字符串列表,而无需使用 foreach 和 addrange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009349/