2013年3月13日水曜日

null入ってたorz

vbのbyte型の配列使ってて詰まった。
たとえば以下のようなコード
Dim a(10) As Byte
a(0) = 1
a(9) = 1
Dim str As String = Text.Encoding.UTF8.GetString(a)
aの先頭と末尾には1が入るが残りはnullである。しかしデバッガで見ると半角スペースが入っているように見えるので、そこを勘違いしていた。エラーを吐くわけでもないのでどうしようかと...

str.Split(" ")としたかったのだがないものを探しても見つからないのだ。
要素がnullであれば半角スペースに変換するループを書いて対応した。
For i As Integer = 0 To a.Length - 1
    If Nothing = a(i) Then
        a(i) = Text.Encoding.UTF8.GetBytes({" "c})(0)
    End If
Next
 .....備えよう....

0 件のコメント:

コメントを投稿