C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

二次元リストを一次元リストに変換したい

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■94642 / inTopicNo.1)  二次元リストを一次元リストに変換したい
  
□投稿者/ marusa (4回)-(2020/04/27(Mon) 10:54:35)

分類:[C#] 

2020/04/27(Mon) 11:14:15 編集(投稿者)
2020/04/27(Mon) 10:55:20 編集(投稿者)

お世話になっております。
C# .NET4.6.1での質問です。

List<List<int>> dataのようなリストについて、それぞれのList<int>を結合して一つのリストList<int> tempに
格納するということがしたいのですが、何か良い方法はありますでしょうか。

foreachを用いた以下のようなものだと利用するたびにforeachを書くのが少し面倒だなと思ったので...。

foreach(List<double> i in data) temp.AddRange(i);

これ以外に良い方法があればご教授頂けるとありがたいです。よろしくお願いいたします。

追記:tempの宣言時に格納できるような方法であるとありがたいです。
引用返信 編集キー/
■94643 / inTopicNo.2)  Re[1]: 二次元リストを一次元リストに変換したい
□投稿者/ Hongliang (1017回)-(2020/04/27(Mon) 11:15:53)
SelectManyですかね。
var tmp = data.SelectMany(list => list).ToList();
// tmp.AddRange(data.SelectMany(list => list)); // 既存のtmpに追加する場合
引用返信 編集キー/
■94644 / inTopicNo.3)  Re[2]: 二次元リストを一次元リストに変換したい
□投稿者/ marusa (5回)-(2020/04/27(Mon) 11:20:53)
No94643 (Hongliang さん) に返信
> SelectManyですかね。
> var tmp = data.SelectMany(list => list).ToList();
> // tmp.AddRange(data.SelectMany(list => list)); // 既存のtmpに追加する場合

こんな便利なメソッドがあったんですね、望んだとおりになりました。
ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ