2011-07-10 9 views
0

DIMを使用しないで変数を使用することは可能ですか?VB.NETでDIMなしの変数を使用することはできますか?

今私はこのような変数を使用する必要があります。

dim a = 100 
dim b = 50 
dim c = a + b 

私はこの方法でVARSを使用できるようにする:このVB

a=100 
b=50 
c=a+b 'c contains 150 
私はVB6で考え

と古いました可能ですが、わかりません。

+4

いいえ、VBは現実の言語に成長しました。淡色が必要です。 –

+0

@ハンス - 厳密には真実ではありませんが、どうしたらいいのですか。 – mattmc3

+5

ブレーキペダルを外して軽い車を作るのに似ています。 – JohnFx

答えて

6

@コンラッドが言ったように、彼は正しい。彼のすべてのの埋葬者に埋葬された答えは "はい"の答えであり、あなたはVB.NETで絶対にOption Explicit Offと宣言することでこれを行うことができます。つまり、a=1を実行すると、変数aIntegerではなく、Objectタイプです。したがって、コンパイルエラーなしでc = a + bを実行することはできません。 Option Strict Offも宣言する必要があります。そしてその時点で、コンパイラのメリットをすべて捨てることになります。それをしないでください。

Option Infer Onを使用すると、DimはC#のvarキーワードと同じように動作し、入力時に節約しようとすると多くの利点があります。

+0

素晴らしい。 Option Explicit Offは私が必要としていたものでした。あなたの答えを受け入れていくつかのポイントを得るでしょう、Konradの答えも正しいです。ありがとう! :) – MilMike

+4

ええと、訂正:「Option Explicit Off」は、あなたが思うものです。あなたはここにいるすべての人があなたにこれをすることを警告していることに気づいたかもしれません。 –

+1

@qxxx Jean-Francoisが指摘しているように、あなたはこれがほしいと思うだけです。ある数日を過ごしてから、いくつか余分な文字を入力することを望まないことによって作成されたバグを追いかけると、厳密にオンになり、明示的にオンになり、推論されます。 – dbasnett

7

あなたはVBが動作するはずの基本的な誤解があります。 Dimの声明はあなたを助けるためのものです。あなたがそれらを削除する希望は間違っています。

コンパイラは、誤って変数名を間違えて誤って新しい変数を作成したときに警告を表示し、型の安全性を確保する必要があるように、変数宣言を強制します。変数宣言がなければ、VBコードは読めない、維持できない混乱になります。

ちなみに、VB6でも同じことが当てはまりましたが、VB6でOption Explicitを使用してコンパイラで正しく使用するようにしてください。このオプションはVB.NETにはまだ存在しますが、それをオフにするとにはというメリットがあり、多くの欠点がありますので、明示的な変数宣言やコンパイラが提供するすべての助言それらを通して。

関連する問題