我试图在一个.csv文件中解析一个列(文件只有一列填充了双数字。)但是当遇到空单元格时C#会抛出错误。
{"Input string was not in a correct format."}
我希望程序在发生这种情况时继续使用下一个单元格。有办法吗?
注意:我试过
if(array[i] != null)
但这似乎不起作用。
我使用此块来读取.csv:
var column = new List<string>();
using (var rd = new StreamReader(@"pathofthecsvfile"))
{
while (!rd.EndOfStream)
{
var splits = rd.ReadLine().Split(';');
column.Add(splits[0]);
}
}
string[] arr = column.ToArray();
double[] array = new double[arr.Length];
//problem is in this block
for (int i = 0; i < array.Length; i++)
{
if (arr[i] != null)
{
array[i] = Convert.ToDouble(arr[i]);
}
}
答案 0 :(得分:0)
我会在插入时检查它:
if split[0] != null && split[0] != "" {
column.Add(splits[0]);
}
答案 1 :(得分:0)
您没有验证要加载到数组中的数据以查看它是否采用有效格式 - Convert.ToDouble
将因null
值和{{1}以外的其他原因而失败字符串。
如果您只是跳到下一栏感到满意,请在empty
循环中使用TryParse
:
for