Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套Linq查询不';I don’我没有表现得像预期的那样_Linq - Fatal编程技术网

嵌套Linq查询不';I don’我没有表现得像预期的那样

嵌套Linq查询不';I don’我没有表现得像预期的那样,linq,Linq,我的问题很简单,在开头给出了下面的代码 var list = new[] { new { name = "lixiang", age = 14 }, new { name = "lixiang", age = 16 }, new { name = "lidian", age = 14 } }; var people = list.GroupBy(x => x.name); 这将给我一个预期的编译器错误,因为人是一组记录: var x1 = people.Selec

我的问题很简单,在开头给出了下面的代码

var list = new[] {
    new { name = "lixiang", age = 14 },
    new { name = "lixiang", age = 16 },
    new { name = "lidian", age = 14 }
};
var people = list.GroupBy(x => x.name);
这将给我一个预期的编译器错误,因为人是一组记录:

var x1 = people.Select(x => x.name);
但我不明白的是,为什么这个能成功编译

var x2 = people.Select(x => x.Select(y => y.name));

people
是一个
IEnumerable
,它继承了
IEnumerable x.name)
将是获得相同结果的更快的方法(假设排序不重要)

var x3 = people.SelectMany(x => x.Select(y => y.name));