0

我有 ac# 实验室问题:

这是我的代码 todo 从 csv 文件添加数据,编译后它给出一个错误名称“rows”在当前内容中不存在

foreach (string row in rows)
{
    if (string.IsNullOrEmpty(row)) continue;
    string[] cols = row.Split(',');
    DailyValues v = new DailyValues();

    v.Open = Convert.To*(cols[0]);
    v.High = Convert.To*(cols[1]);
    v.Low = Convert.To*(cols[2]);
    v.Close = Convert.To* (cols[3]);
    v.Volume = Convert.To* (cols[4]);
    v.AdjClose = Convert.To*(cols[5]);
    v.Date = Convert.To*(cols[6]);
    values.Add(v);


    return values;
}    
4

1 回答 1

1

看起来您的 CSV 文件包含无法转换为小数的数据。在调试器中运行它,看看row什么时候抛出异常。

如果你使用Decimal.TryParse(),返回值会告诉你转换是否成功,没有抛出异常。

编辑:

作为 TryParse 的示例:

Decimal _Open, _High;
if (!Decimal.TryParse(cols[0], out _Open))
{
    Debug.Print("Error on row: {0}", row);
    continue;
}
v.Open = _Open;

if (!Decimal.TryParse(cols[1], out _High))
{
    Debug.Print("Error on row: {0}", row);
    continue;
}
v.High = _High;
于 2012-11-09T03:16:28.737 回答