思考停止するな

ネットワークとかアプリケーションとかWebとか

VBのByval、Byrefについて

どもVB初心者です。

VBでByval、Byrefという初めて聞く単語が出てきたので調べてみました。

Byval

値渡し。呼び出し先で値を変えても、呼び出し元には影響がない。
(メソッドの引数に、新たに値のコピーを作って渡す方法)

Sub Proc(ByVal tmp As String)
   tmp= "test"         ''受け取った値を"test"に変える
End Sub

Byref

参照渡し。呼び出し先で値を変えると、呼び出し元にも影響する。
(メソッドの引数に、変数そのものの参照を渡す方法)

Sub Proc(ByRef tmp As String)
   tmp= "test"         ''受け取った値を"test"に変える
End Sub

だいぶ初歩的な内容だった。。。

VBのEnumについて

どうも。VB初心者です。
最近VBの話の中でEnumっていうのが出てきたので調べてみました。

Enumとは

列挙体。列挙体を用いると関連のある一連の数値定数をひとまとめに扱うことができる。
変更する必要がない整数値をグループ化する時に使う。
Enumの値は整数値に限られる。
値を指定しない場合は、先頭が0となり、以降順に+1した値になる。
「=数値」で任意の値を設定することができる。
以下のようにして定義する。

Public Enum Washoku
    SUSHI
    ANKO
    UDON
    SOBA = 10
End Enum

上記は以下のような値になる。
SUSHI → 0
ANKO → 1
UDON → 2
SOBA → 10

もっと実用的にすると次のような使い方とか?

Public Enum  店番号
    A = 1
    B = 2
    C = 3
End Enum

GetValuesメソッド

列挙体のメンバの値を配列で取得する。

GetNamesメソッド

列挙体のメンバの名前を配列で取得する。

VBの型について

VBの型について調べてみたので、そのメモです。

型名説明サイズ
Booleanブール型。True、False。2byte
Byteバイト型。0 ~ 255。1byte
Char文字型。1文字(Unicode)。1byte
Integer整数型。-2147483648 ~ 2147483647。2byte
Short短整数型。-32768 ~ 32767。2byte
Long長整数型。-2,147,483,648 ~ 2,147,483,647。4byte
Decimal10進型。
小数の桁数が0(整数)の場合(-79228162514264337593543950335 ~ 79228162514264337593543950335)。
小数の桁数が28桁の場合(-7.9228162514264337593543950335 ~ 7.9228162514264337593543950335)。
14byte
Double倍精度浮動小数点型。
負の場合(-1.79769313486232E308 ~ -4.94065645841247E-324)。
正の場合(4.94065645841247E-324 ~1.79769313486232E308)。
4byte
Single単精度浮動小数点数型。
負の場合(-3.402823E38 ~ -1.401298E-45)。
正の場合(1.401298E-45 ~ 3.402823E38)。
4byte
Date日付型。0001年1月1日 0:00:00 ~ 9999年12月31 日 23:59:598byte
Objectオブジェクト型。4byte