TextFieldParser分隔符无法识别字符串

时间:2015-02-03 13:35:28

标签: vb.net

认为它简单直白,但我无法弄清楚为什么会有这样的事情

Dim MyDelimeter as string = "vbTab"
MyReader.Delimiters = New String() {MyDelimeter }

它没有将MyDelimeter识别为标签。如果我有逗号它的工作。

Dim MyDelimeter as string = ","

你能解释一下它为什么会发生吗?我的分隔符来自xml序列化文件,所以我想把它们放在不适合vbtab的地方。

1 个答案:

答案 0 :(得分:3)

使用

MyReader.Delimiters = New String() {vbTab}

而不是

MyReader.Delimiters = New String() { "vbTab" }

vbTab是制表符的视觉基本常量,而字符串文字"vbTab"只是文本"vbTab"

如果您已将值"vbTab"存储在文件中以指示应使用的分隔符,则必须使用If...ElseSelect..Case来使用vbTab常量。当然你也可以在文件中存储真正的制表符,但我想你不想要它,因为它不是真的可见。

例如

If delimiterInFile = "vbTab" Then
    MyReader.Delimiters = New String() {vbTab}
ElseIf delimiterInFile = "comma" Then
    MyReader.Delimiters = New String() {","}
ElseIf delimiterInFile = "pipe" Then
    MyReader.Delimiters = New String() {"|"}
    ' ....
Else
    MyReader.Delimiters = New String() {","}
End If