- - PR -
Newって?
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-09-19 17:37
こんにちは。
VB2005でコーディングしているものです。 ちょっとした疑問で申し訳ないのですが、 VBの変数定義でNewを付けた場合と付けない場合って何が違うのでしょうか? 具体的には以下の定義をした場合、変数aは何が違うのでしょうか。 <Newなし> Dim a as Integer <Newあり> Dim a as New Integer どなたかご存知の方おりましたらご教授願います。 宜しくお願い致します。 [ メッセージ編集済み 編集者: 檸檬 編集日時 2008-09-19 17:38 ] | ||||||||
|
投稿日時: 2008-09-19 17:40
値型か参照型かで答えが変わります。
この場合は何も変わらないです。 MSIL を見れば、と思ったのですがそこまでする話でもないですよね。(^^; _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2008-09-19 18:00
じゃんぬねっとさん、早速の返答ありがとうございますm_m
この場合のaは何も変わらないのですねー、 てっきりC言語のポインタ的な違いがあるのではーとか思ってました。 変数の実体が割り当てられるのが初回使ったときとか。 わたし自身Newの意味を良くわからないままいままでコーディングしていたもので^^; なんだかおまじないみたいに、クラスのインスタンス生成や配列の初期化にNewをつけてました。 | ||||||||
|
投稿日時: 2008-09-19 20:32
デフォルト コンストラクタであればです。 コンストラクタにもオーバーロードがありますので、値型や基本データ型で New を使っている == 省略時と同じにはならないです。
クラスに関してはおまじないではダメです。 参照型の場合はれっきとした理由がありますよね。 配列の初期化も要素の初期化込みでだればこれも意味が異なってきます。 # VB6 以前の時代はおまじないだと思っている人は多かったみたいですね。 # Dim Fso As New FileSysmtemObject '何か良く分からんけどこうしないとダメらしい # みたいな。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1