Can these two LINQ queries be used interchangeably?

后端 未结 2 552
南旧
南旧 2021-01-19 15:56

a) Would the following two queries produce the same results:

  var query1 = collection_1
            .SelectMany(c_1 => c_1.collection_2)
            .Se         


        
2条回答
  •  孤独总比滥情好
    2021-01-19 16:15

    a. The queries are equal because in both cases you end up with all c_3's in c_1 through c_2.

    b. You can't get to c_1 and c_2 with these queries as you suggest. If you want that you need this overload of SelectMany. This "fluent" syntax is quite clumsy though. This is typically a case where comprehensive syntax which does the same is much better:

    from c_1 in colection_1
    from c_2 in c_1.collection_2
    from c_3 in c_2.collection_3
    select new { c_1.x, c_2.y, c_3.z }
    

提交回复
热议问题