📑

VB基本まとめ~変数編~

2022/12/10に公開

今後の記事を書く前に初歩の初歩、VB.Net基本的な情報をまとめていこうと思います。
まずは変数あたりから。

基本的な変数

変数の種類

【整数型】

サイズ 規定値 リテラルの型文字 識別子の型文字 格納可能な範囲
SByte 1Byte 0 なし なし -128 ~ 127
Byte 1Byte 0 なし なし 0 ~ 255
Short 2Byte 0 S なし -32,768 ~ 32,767
UShort 2Byte 0 US なし 0 ~ 65,535
Integer 4Byte 0 I % -2,147,483,648 ~ 2,147,483,647
UInteger 4Byte 0 UI なし 0 ~ 4,294,967,295
Long 8Byte 0 L & -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ULong 8Byte 0 UL なし 0 ~ 18,446,744,073,709,551,615

【浮動小数型】

サイズ 規定値 リテラルの型文字 識別子の型文字 格納可能な範囲
Single 4Byte 0 F ! ±3.40282347E+38
Double 8Byte 0 R # ±1.7976931348623157E+308

【10進型】

サイズ 規定値 リテラルの型文字 識別子の型文字 格納可能な範囲
Decimal 16Byte 0 D @ ±79,228,162,514,264,337,593,543,950,335
※少数部28桁まで格納可能。その場合、整数部が小数部の桁数分少なくなる
⇒最大少数桁時の範囲:±7.9228162514264337593543950335

【論理型】

サイズ 規定値 リテラルの型文字 識別子の型文字 格納可能な範囲
Boolean - False なし なし True/False

【日付型】

サイズ 規定値 リテラルの型文字 識別子の型文字 格納可能な範囲
Date 8Byte 0001/01/01 00:00:00 なし なし 0001/01/01 00:00:00 ~ 9999/12/31 23:59:59

【文字・文字列型】

サイズ 規定値 リテラルの型文字 識別子の型文字 格納可能な範囲
Char 2Byte 0 C なし 0 ~ 65535
String - "" なし なし 0 ~ 約20億文字(Unicode)

###【オブジェクト型】

サイズ 規定値 リテラルの型文字 識別子の型文字 格納可能な範囲
Object 8Byte Nothing なし なし すべての型を格納可能

リテラルの型文字

Dim S = 1S      '*** Short
Dim US = 1US    '*** UShort
Dim I = 1I      '*** Integer
Dim UI = 1UI    '*** UInteger
Dim L = 1L      '*** Long
Dim UL = 1UL    '*** ULong

Dim F = 1.0F    '*** Single
Dim R = 1.0R    '*** Double
Dim D = 1D      '*** Decimal

Dim C = " "c    '*** Char

識別子の型文字

Dim I%      '*** Integer
Dim L&      '*** Long

Dim F!      '*** Single
Dim R#      '*** Double
Dim D@      '*** Decimal

Dim S$      '*** String

既定のリテラル型

Dim I = 2147483647  '*** Integer
Dim L = 2147483648  '*** Long

Dim R = 1.1         '*** Double

Dim S = ""          '*** String
Dim DT = #2019/5/9# '*** Date

10進数以外のリテラル

基数 プレフィクス 有効文字
2進数 &B 0,1
8進数 &O 0~7
16進数 &H 0~9,A~F
Dim B = &B1001              '*** 2進数
Dim O = &O1234567           '*** 8進数
Dim H = &H123456789ABCDEF   '*** 16進数

'*** リテラル識別子(※整数型のみ)との組み合わせも可能
Dim HI = &HFFFFI    '*** Integer
Dim HUI = &HFFFFUI  '*** UInteger
Dim HS = &HFFFFS    '*** Short

'*** VB2017より、「_」で区切る事も可能
Dim H2017 = &HFFFF_FFFF

型変換

型変換1:データ型変換関数

関数名 戻り値 使用例
CObj Object CObj(1)
CBool Boolean CBool("True")
CByte Byte CByte("1")
CSByte SByte CSByte("1")
CShort Short CShort("1")
CUShort UShort CUShort("1")
CInt Integer CInt("1")
CUInt UInteger CUInt("1")
CLng Long CLng("1")
CULng ULong CULng("1")
CSng Single CSng("1")
CDbl Double CDbl("1")
CDec Decimal CDec("1")
CChar Char CChar("1")
CStr String CStr(1)
CDate Date CDate("2019/12/31")

型変換2:CType・DirectCast・TryCast

関数名 戻り値 使用例 備考
CType 任意の型 CType("2019/12/31", Date) 自由度の高い型変換
DirectCast 任意の型 DirectCast(New Date, Date) 変換パフォーマンスは良いが、厳密に型が一致している必要がある
TryCast 参照型 TryCast(Obj, Date) 変換失敗時はNothingが返る

型変換3:数値を文字列に変換

変数.ToString メソッドを使用

型変換4:Parse系メソッドを使用した変換

型.Parse等

Dim S = "12345"
Dim I1 = Integer.Parse(S)  '*** SがNothing・変換できない値の場合例外発生
Dim I2 As Integer
Integer.TryParse(S, I2)    '*** Sが変換できない値でも例外は発生しない

Discussion