LINQ First() or Single() parameter
本文关键字:parameter Single or LINQ First | 更新日期: 2023-09-27 18:29:09
尝试从CSV文件中获取排序数据。除了"Side"列是字符串并且对于一个组是相同的之外,此代码运行良好。我不知道First()方法的Single()应该是什么参数。
var stuff = from line in File.ReadLines(@"d:'tmp'4.csv").Skip(1)
let columns = line.Split(';')
select new
{
Time = columns[0],
Side = columns[2],
Qty = columns[3],
Symbol = columns[4],
Price = columns[5],
};
var sorted = from line in stuff
group line by new { line.Time, line.Symbol }
into category
select new {
category.Key.Time,
category.Key.Symbol,
Qty = category.Sum(p => Int32.Parse(p.Qty)),
Price = category.Average(p => double.Parse(p.Price)),
Side = ?????? };
Single
如果发现多条记录,就会抛出异常,我认为这不是您想要的
First
从列表中选择第一条记录,但如果集合为空,则Single
和First
都将引发"InvalidOperationException"异常。
所以我会在这里使用FirstOrDefault
Side = category.Select(p => p.Side).FirstOrDefault()