[c#]没有一一列举的定义

标签: Linq C#
发布时间: 2017/2/28 22:54:43
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我试图使用 Linq 来读取 CSV (每一行都具有的组件 DailyValues 对象) 和把所有的对象到 List 。 没有 ToList() 它给 cannot implicitly convert IEnumerable to List ,如果我把 .ToList() 在那里它说 decimal does contain a definition for ToList() 。 根据记录,我是 using System.Linq 。 如何使用以下将以 CSV 数据转换成我的对象的列表?

        List<DailyValues> values = new List<DailyValues>();

        values = from line in File.ReadAllLines(filePath).Skip(1)
                 let columns = line.Split(',')
                 select new DailyValues
                 {
                     Date = DateTime.Parse(columns[0]),
                     Open = decimal.Parse(columns[1]),
                     High = decimal.Parse(columns[2]),
                     Low = decimal.Parse(columns[3]),
                     Close = decimal.Parse(columns[4]),
                     Volume = decimal.Parse(columns[5]),
                     AdjClose = decimal.Parse(columns[6])
                     .ToList()  // this guy is the problem
                 };

解决方法 1:

您需要调用 ToList 对您的查询不是十进制的财产,你也需要查询前后加上的括号︰

 (from line in File.ReadAllLines(filePath).Skip(1)
             let columns = line.Split(',')
             select new DailyValues
             {
                 Date = DateTime.Parse(columns[0]),
                 Open = decimal.Parse(columns[1]),
                 High = decimal.Parse(columns[2]),
                 Low = decimal.Parse(columns[3]),
                 Close = decimal.Parse(columns[4]),
                 Volume = decimal.Parse(columns[5]),
                 AdjClose = decimal.Parse(columns[6])
             }).ToList();
赞助商