タイムマシーンがあったら、過去と未来どちらに行く?

Dim x as Integer

x=100
~~~
何らかの処理
~~~
x=Empty

と言う感じで一回数値を入れてまたカラにしたいのですが、
Emptyですと0になってしまい、カラにはなりません。
カラにするにはどうしたらいいのでしょうか。
よろしくお願いいたします。

A 回答 (4件)

Integer型は-32763~32767の範囲の数字が必ず入りますので空にはできません。


String型でしたらNULL(=Empty)にできるのですが。
    • good
    • 3

たぶん、「数値がセットされたかどうか」を判別したいんですよね。



.NET Framework2.0以降なら、確かにNullableクラスを使うのが
早そうです(初めて知りましたが…汗)。
それ以外にも、.NET系なら、Object型なら何でも設定できるはずなので
Object型を使用するのもアリかもしれません。
(但しObject型だと、中身のデータ型が分からなくなりがちだと思うので
 お勧めは しかねますが)
VB6以前だと、Variant型を使うって手もあります。
(但しこれもObject型と同じ理由で、お勧めは しません。
 気分的にもVariantは出来るだけ使いたくないです)

私が良く使う手は、「実データ以外に、データが登録されたかどうかを監視する
Boolean型のフラグを使う」手です。
多少面倒には なりますが、これならデータ型が訳分からなくなったりは
しません(ちゃんと管理する気があれば、ですが)。
考え方的には、たぶんNullableクラスと同様です。それを自力でやるだけ。
    • good
    • 2

.NET Framework2.0以降であればInteger型とはちょっと違いますが


null許容型のNullableってのがあります。


実際のところ、空にしてどうしたいのか記述していただけると
どのようなコーディングをすべきなのかが回答者にもわかるのですが。
(0を代入するとか、スコープを狭めるとか、Nullableにするのか)
    • good
    • 1

Integer 符号付き 32 ビット (4 バイト)の整数ですから空にはなりません.



初期値に戻したいという意味であれば,0が初期値ですよ.

Dimで初期化した時の値は初期値を何も入れなければ
データ型に与えられている規定値が代入されます.
Integerであれば,0ですね.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A