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

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

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

Listクラスの初期化子について

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

■82822 / inTopicNo.1)  Listクラスの初期化子について
  
□投稿者/ Tomo (8回)-(2017/02/08(Wed) 01:13:54)

分類:[C#] 

いつもお世話になっております。

Listクラスの初期化子について質問させて下さい。

例えば、下記コードがあります。

public class Hunter
{
private Hunter2 hunter2;

public int ID{get;set;}
public string NAME{get;set;}

public Hunter2 HUNTER2
{
get{return hunter2;}
set{hunter2 = value;}
}

public Hunter()
{
hunter2 = new Hunter2();
}
}

public class Hunter2
{
public int ID{get;set;}
public string NAME{get;set;}
}

public class Zikkou
{
static void Main()
{
List<Hunter> list = new List<Hunter>();

Hunter hunter = new Hunter();
hunter.ID = 999;
hunter.NAME = "aaaaa";
hunter.HUNTER2.ID = 1200;
hunter.HUNTER2.NAME = "bbbb";

list.Add(hunter);

}
}

上記コードのZikkouクラスで
List<Hunter>オブジェクトにHunterオブジェクトを格納しているのですが

上記コードの場合はうまくいきます。

しかし、初期化子を用いてList<Hunter>にHunterオブジェクトを
格納する事ができません。

リストに追加する時に初期化子を用いて

list.Add(new Hunter(){〜〜}); という風に記述したいのですが
上手くいきませんでした。

今回のコードの場合、初期化子を用いて
リストに格納するには、どうすればよいのでしょうか?



引用返信 編集キー/
■82823 / inTopicNo.2)  Re[1]: Listクラスの初期化子について
□投稿者/ Hongliang (497回)-(2017/02/08(Wed) 05:37:43)
・「Listクラスの初期化子」じゃなくて、クラスの初期化子の話ですよね?
 (Listの初期化子はコレクション初期化子というまた別の機能があります)
・どう書いて、どういうエラーになりましたか?
・List.Addじゃなくて、単なる変数の初期化時なら初期化子で初期化できますか?

list.Add(new Hunter() { ID = 1, NAME = "a", hunter2 = { ID = 2, NAME = "b" } });

・hunterのコンストラクタ引数じゃ駄目なんでしょうか…。
引用返信 編集キー/

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


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

このトピックに書きこむ