VB という言語はだいたいにおいて勝手に融通の効く言語ですが、
最初に初めて String オブジェクトの Split メソッドを使おう
とした時に、引数が Char() だったので、面倒に思った記憶が
あります。
ですが。
いろいろ試してみると妙な事が解りました。
Module MyModule
' ********************************************************
' String => Char と Split メソッド
' ※ 区切り文字は、カンマとスペースとタブ
' ********************************************************
Sub Main()
' Char 配列
Dim c As Char() = Nothing
' データセット方法1( Char 明示 )
c = New Char() { ","c, " "c, " "c }
delimTest(c)
' データセット方法1-2
c = New Char() { ",", " ", " " }
delimTest(c)
' データセット方法2
c = New Char() { c(0), c(1), c(2) }
delimTest(c)
' データセット方法3
Dim delim As String = ", "
c = delim.ToCharArray()
delimTest(c)
' データセット方法4( ToCharArray は何だったのか )
c = delim
delimTest(c)
' データセット方法5( 何故か正しく動く )
delimTest(delim)
' 直接は動かない( たぶん呼び出しルールの違い )
' ※ 先頭文字しか使われない
Console.WriteLine(("a,b c d,e,f,g,x,i,j".Split(delim)).Length)
End Sub
Sub delimTest( c As Char() )
Dim str As String = "a,b c d,e,f,g,x,i,j"
Dim result As String() = str.Split(c)
For Each obj As String In result
' 読み飛ばし条件
if obj = "e" then
Continue For
end if
' ループ終了条件
if obj = "x" then
Exit For
end if
' 処理
Console.WriteLine( obj )
Next
End Sub
End Module
VB なので、' データセット方法3 でいいとは思いますが、
他の結果のせいで、少し気持ち悪い気がします。
posted by
at 2010-06-04 00:29
|
VB.net
|

|