2007-01-10

[VB.NET] 特殊文字列の長さとTrimについて

以下の環境で特殊な文字列の長さについて検証してみました。
  • Windows XP SP2 (SJIS)
  • Visual Studio 2003 の VB.NET

検証用コード
Dim a, msg As String

a = " "
msg &= vbCrLf + "「 」.Trim = " + Len(a.Trim).ToString

msg &= vbCrLf

a = vbLf
msg &= vbCrLf + "vbLf = " + Len(a).ToString

a = vbCr
msg &= vbCrLf + "vbCr = " + Len(a).ToString

a = vbCr
msg &= vbCrLf + "vbCrL = " + Len(a).ToString

a = vbNullString
msg &= vbCrLf + "vbNullString = " + Len(a).ToString

a = vbNullChar
msg &= vbCrLf + "vbNullChar = " + Len(a).ToString

a = vbTab
msg &= vbCrLf + "vbTab = " + Len(a).ToString

a = vbBack
msg &= vbCrLf + "vbBack = " + Len(a).ToString

msg &= vbCrLf

a = vbLf
msg &= vbCrLf + "vbLf.Trim = " + Len(a.Trim).ToString

a = vbCr
msg &= vbCrLf + "vbCr.Trim = " + Len(a.Trim).ToString

a = vbCrLf
msg &= vbCrLf + "vbCrLf.Trim = " + Len(a.Trim).ToString

a = vbNullString
If a Is Nothing Then
msg &= vbCrLf + "vbNullString.Trim Is Nothing"
Else
msg &= vbCrLf + "vbNullString.Trim = " + Len(a.Trim).ToString
End If

a = vbNullChar
msg &= vbCrLf + "vbNullChar.Trim = " + Len(a.Trim).ToString

a = vbTab
msg &= vbCrLf + "vbTab.Trim = " + Len(a.Trim).ToString

a = vbBack
msg &= vbCrLf + "vbBack.Trim = " + Len(a.Trim).ToString

Return msg

結果
「 」.Trim = 0

vbLf = 1
vbCr = 1
vbCrL = 1
vbNullString = 0
vbNullChar = 1
vbTab = 1
vbBack = 1

vbLf.Trim = 0
vbCr.Trim = 0
vbCrLf.Trim = 0
vbNullString.Trim Is Nothing
vbNullChar.Trim = 1
vbTab.Trim = 0
vbBack.Trim = 1

vbNullStringはTrimするとNothingになってしまうことにちょっとオドロキ。
vbNullCharはTrimしても1が残ります。

参考URL:
MSDN:印刷と表示の定数
コメントを投稿