gpt4 book ai didi

c# - 使用 SelectMany() 的不同方式

转载 作者:行者123 更新时间:2023-12-02 14:40:04 29 4
gpt4 key购买 nike

我想知道如何使用SelectMany()。这似乎需要很多争论,从我自己的研究中我注意到 SelectMany() 可能是所有其他选择操作的“父亲”。

最佳答案

选择多个允许您从查询源中选择一个 IEnumerable 集合的属性,但不是返回集合的集合 (IEnumerable >),而是将集合展平为单个集合.

下面是一个示例,您可以运行它来演示 Select 和 SelectMany 之间的差异:

//set up some data for our example
var tuple1 = new { Name = "Tuple1", Values = new int [] { 1, 2, 3 } };
var tuple2 = new { Name = "Tuple2", Values = new int [] { 4, 5, 6 } };
var tuple3 = new { Name = "Tuple3", Values = new int [] { 7, 8, 9 } };

//put the tuples into a collection
var tuples = new [] { tuple1, tuple2, tuple3 };

//"tupleValues" is an IEnumerable<IEnumerable<int>> that contains { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }
var tupleValues = tuples.Select(t => t.Values);

//"tupleSelectManyValues" is an IEnumerable<int> that contains { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
var tupleSelectManyValues = tuples.SelectMany(t => t.Values);

通过使用 SelectMany,您可以更轻松地查询子集合中的值。

关于c# - 使用 SelectMany() 的不同方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283866/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com