NEW の意味 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 陸羽  (社会人) 投稿日時 2011/11/16 19:47:18
NEWでも

こんなものもあるしね。

クラス

sub new()
a(0)=ソリッドブラシ青:a(1)=ソリッドブラシ透明

end sub

エンドクラス

このnewもNewだが。
投稿者 るきお  (社会人) 投稿日時 2011/10/24 13:19:14
>dim xxx as new ***
>のnewはどういうときに必要なのでしょうか。
***のインスタンスを作成してxxxに代入するときに必要です。
①別の行でNewを書くのであれば1行にまとめる必要はありませんし、
②自分でNewするのではなく、別の場所で既にインスタンス化されているものを代入するのであれば、
この場合も自分でNewは書きません。

①の例
Dim f As Form
f = New Form
MsgBox(f.BackColor.ToString)


②の例
Dim f As Form
f = Me
MsgBox(f.BackColor.ToString)


>dim xxx as new string
>とはなぜ書かないのでしょうか? 
一部の型は、特別なインスタンスの記述方法があるためNewを使わないことがあります。
上記の②と同じです。
String型の場合 " でくくることでインスタンスを表現でき、自分でNewする必要はありません。
例(②と見比べてください。)
Dim s As String
s = "ABCD"
MsgBox(s)




投稿者 陸羽  (社会人) 投稿日時 2011/10/23 07:05:49
New=インスタンス
じゃないの?

stringとか、配列はNewキーワードを省略できるんですよ。(2010)

質問者くんのコードは、宣言とインスタンスを同時に行うプログラム。

インスタンスの項目を勉強しましょう。
投稿者 shu  (社会人) 投稿日時 2011/10/22 23:36:49
> dim xxx as new string
これは正式な書き方だと
dim xxx as new String()
となりこれは引数なしのコンストラクタによる初期化を表します。

ところが
http://msdn.microsoft.com/ja-jp/library/system.string.string(v=VS.80).aspx
にあるようにStringクラスには引数なしのコンストラクターがないので
この書き方をするとそういうコンストラクタは定義されていませんとエラーになります。

String変数への値の設定は上記MSDNのヘルプにあるコンストラクターによる初期化を行う
方法もありますが、一般的には文字列定数の代入、文字列を返す演算とか関数等の結果を代入
するという方法になります。newも代入もしない状態だと変数はNothingになり値を参照することが
できません。
投稿者 名無し  (社会人) 投稿日時 2011/10/22 18:49:15
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1127027911
ここに回答の一部があるのでは
投稿者 K  (社会人) 投稿日時 2011/10/22 18:09:33
こんにちは。

超初歩的な質問ですが、
dim xxx as new ***
のnewはどういうときに必要なのでしょうか。

dim xxx as new string
とはなぜ書かないのでしょうか?