C#, C♯, C#相談室 Part98 (518レス)
C#, C♯, C#相談室 Part98 http://mevius.5ch.net/test/read.cgi/tech/1719656321/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
512: デフォルトの名無しさん (アウアウウー Sacf-P6+q) [sage] 2025/09/24(水) 21:51:48.42 ID:4iPutXmOa class C { A a = new A(); // 1 C() { A a = new A(); // 2 } } 1と2でAのインスタンスを生成することに違いはありますか? コンストラクタ内で生成する2でよいような気もしますが http://mevius.5ch.net/test/read.cgi/tech/1719656321/512
513: デフォルトの名無しさん (ワッチョイ 0601-oUuT) [sage] 2025/09/24(水) 23:10:47.04 ID:dvgofv4/0 2つ目は class C { A a; C() { a = new A(); } } だよね? http://mevius.5ch.net/test/read.cgi/tech/1719656321/513
514: デフォルトの名無しさん (アウアウウー Sacf-P6+q) [sage] 2025/09/24(水) 23:23:06.73 ID:ot6MCezpa なるほど、 たしかにコンストラクタ内のローカル変数ではダメですね(aは) お恥ずかしい… http://mevius.5ch.net/test/read.cgi/tech/1719656321/514
515: デフォルトの名無しさん (アウアウウー Sacf-P6+q) [sage] 2025/09/24(水) 23:27:12.81 ID:ot6MCezpa では、>>512 の1と、>>513 の違いはなんなのでしょうか http://mevius.5ch.net/test/read.cgi/tech/1719656321/515
516: デフォルトの名無しさん (ワッチョイ 0601-oUuT) [sage] 2025/09/24(水) 23:53:32.45 ID:dvgofv4/0 コンストラクタが呼ばれる前に初期化できるものと コンストラクタの中じゃないと初期化できないものがある 上の例は前者 前者に関してはどっちでもいいっちゃいいけど フィールド宣言と一緒に初期化コードも書いたほうがわかりやすい http://mevius.5ch.net/test/read.cgi/tech/1719656321/516
517: デフォルトの名無しさん (アウアウウー Sacf-P6+q) [sage] 2025/09/25(木) 00:10:14.06 ID:By2ks0eda ありがとうございます やはりそんな感じなんですね >>512 の 1はコンストラクタより前に初期化されることはテストで確認しました ご指摘のとおり、コンストラクタ内でしか初期化できないものもあるようですね ことばが正しくないと思いますが、デリゲートにイベントハンドラを追加するようなコードがそれに当たりました(僕の拙いテストでは) 後半の「フィールドの宣言と初期化が一緒に〜」は納得です http://mevius.5ch.net/test/read
.cgi/tech/1719656321/517
518: デフォルトの名無しさん (アウアウウー Sacf-P6+q) [sage] 2025/09/25(木) 00:13:08.63 ID:By2ks0eda x デリゲートに o オブザーバに これでも誤っていそうですがw http://mevius.5ch.net/test/read.cgi/tech/1719656321/518
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s