我有一个列表,我正在尝试按日期时间排序并将其返回。但我得到一个错误,我该如何解决这个问题?排序列表时发生错误缺少演员表
不能类型隐式转换
System.Linq.IOrderedEnumerable<ConsoleApplication2.DTNBars>
到System.Collections.Generic.List<ConsoleApplication2.DTNBars>
。一个 显式转换存在(是否缺少强制转换?)
public static List<DTNBars> getDTNBars(string symbol, DateTime dt)
{
TextReader tr = new StreamReader(File.Open(@"C:\historicaldata\" + symbol + ".txt", FileMode.Open));
List<DTNBars> dtnbars = new List<DTNBars>();
CsvReader csvr = new CsvReader(tr);
while (csvr.Read())
{
DTNBars b = new DTNBars();
b.Date_Time = csvr.GetField<DateTime>(0);
b.Open = csvr.GetField<double>(1);
b.High = csvr.GetField<double>(2);
b.Close = csvr.GetField<double>(4);
b.Ticker = symbol;
dtnbars.Add(b);
}
return dtnbars.OrderBy(x => x.Date_Time);
}
public class DTNBars
{
public DateTime Date_Time { get; set; }
public double Open { get; set; }
public double High { get; set; }
public double Low { get; set; }
public double Close { get; set; }
public string Ticker { get; set; }
}
我想所有你需要的是在'OrderBy'后添加一个'ToList'。 – juharr