私はむしろ初心者くさい質問があります。空のリストを連結するとリストが返されますが、新しいリストと連結されるのはなぜですか?
この
var emptyList = Enumerable.Repeat(Enumerable.Empty<int>(), 1).ToList();
var nonEmptyList = new List<int> { 1 };
var joinedList = emptyList.Select(x => x.Concat(nonEmptyList)).ToList();
を行うと、どのように
しかし、これは空のリストを返す
var emptyList = new List<List<int>>();
var nonEmptyList = new List<int> { 1 };
var joinedList = emptyList.Select(x => x.Concat(nonEmptyList)).ToList();
非空のリストを返しますLinqがconcaにできる選択されたアイテムが空の場合、リストのempty
リストのテナントアイテムはnonEmpty
となりますか? 2番目の例で新しいリストで試してみると、なぜうまくいかないのですか? IEnumerable<IResult>
を返しEnumerable.Repeat
おかげ
最初の 'emptyList'は、1つの空のリスト(1つの要素)を含む列挙型です。 2番目の 'emptyList'はリストの空のリスト(ゼロ要素)です。これを見ると、どのように出力に到達するのかを知ることができます。 – Steven