从 .Net parm 方法获取数组

Getting array from .Net parm method

我正在尝试使用 .Net class Microsoft.VisualBasic.FileIO.TextFieldParser 读取 csv。我遇到的问题是变量 netArray 的值似乎被设置为单个字符串,而没有将值拆分为单独的数组条目。知道为什么会发生这种情况吗?

int counter, xppArrayLength;
str xppValue;
str arr[];
System.String[]     netArray;
System.String[]     delimeters = new System.String[1]();
Microsoft.VisualBasic.FileIO.TextFieldParser parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(myPath);

delimeters.SetValue(",",0);
parser.set_Delimiters(delimeters);
parser.set_HasFieldsEnclosedInQuotes(true);

netArray = parser.ReadLine();

while(netArray.get_Length())
{
    xppArrayLength = netArray.get_Length();
    for(counter = 1; counter <= xppArrayLength; counter++)
    {
        xppValue = netArray.GetValue(counter-1);
        arr[counter] = xppValue;

    }

    netArray = parser.ReadLine();

} }

因为 TextFieldParser.ReadLine() 应该 return 一个字符串(如此处记录 https://msdn.microsoft.com/en-us/library/6a8fts4w%28v=vs.90%29.aspx

你应该做 parser.ReadFields() (https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.fileio.textfieldparser.readfields%28v=vs.110%29.aspx)

您还没有设置 TextFieldType = FieldType.Delimited(如此处记录 https://msdn.microsoft.com/en-us/library/63k8k5sx%28v=vs.90%29.aspx TextFieldType 默认值为 FieldType.Delimited,所以不需要设置。