c# にList<int>
変換 できますか? List<List<int>>
このような構造を使用する場合
List<int>element=new List<int>();
List<List<int>>superElement= new List<List<int>>(element);
エラーが発生しましたが、別の方法でこれを行うことはできますか?
c# にList<int>
変換 できますか? List<List<int>>
このような構造を使用する場合
List<int>element=new List<int>();
List<List<int>>superElement= new List<List<int>>(element);
エラーが発生しましたが、別の方法でこれを行うことはできますか?
次のように実行できます。
List<List<int>> superElement = new List<List<int>>();
superElement.Add(element);
List<int>element=new List<int>();
List<List<int>>superElement= new List<List<int>> { element };
それはうまくいくでしょう。コンストラクターでリストを渡すことはできません。
これを試して :
var element = new List<int>();
var superElement = new List< List<int> >(){ element };
他の回答が実際に役立つとは思えないため、より完全で有用な回答であると思われるものを投稿します。
まず、完全を期すために、実際にやろうとしていたことを達成する方法を示します。リストのリストを作成するには、次のようにします。
List<int> element = new List<int>();
List<List<int>> superElement = new List<List<int>>();
superElement.Add(element);
しかし、現状では、なぜこれを行いたいのかあまり意味がありません。いくつかのコメント調査の結果 (害がなかったことを願っています)、ID を整数。これとは別のアプローチを取ることをお勧めします。
個人的には、データを保持するクラスを作成してから、それらの項目の単一のリストを次のように作成します。
public class MyData
{
public int ID {get; set;}
public List<int> MyValues {get;set;}
public MyData()
{
MyValues = new List<int>();
}
}
次に、これを行うことができます:
List<int> element = new List<int>();
MyData data = new MyData();
data.ID = 1;
data.MyValues = element;
List<MyData> superElement = new List<MyData>();
superElement.Add(data);
次のようなクエリが可能になります。
MyData data1 = superElement.SingleOrDeafult(x => x.ID == 1);
List<int> element = data1.MyValues;
Linq が利用可能であると仮定します。
別の方法として、次のように辞書を使用することもできます。
Dictionary<int, List<int>> superElement = new Dictionary<int, List<int>>();
superElement.Add(1, element);
は1
ID で、次のように呼び出すことができます。
List<int> element = superElement[1];