0

我有.csv档案。每行中的第一个值为DateTime. 如何使用 Linq 获得其最大(最新)值?请继续或更改(如果不需要使用 let 关键字)我的查询:

 var maxDT = from line in File.ReadLines(file)
                  let dt = DateTime.Parse(line.Split(',')[0])
               .
               .
4

2 回答 2

1

对于单个最大值

var dateTime = File.ReadAllLines(@"C:\\file.svc")
.Select(l => DateTime.Parse(l.Split(',')[0]))
.Max();

// query expression
var date = (from line in File.ReadAllLines(@"C:\\file.csv")
           let date = DateTime.Parse(line.Split(',').First())
           orderby date descending
           select date).First()

如果你需要说,前5名最多

 var dates = File.ReadAllLines(@"C:\\file.svc")
 .Select(l => DateTime.Parse(l.Split(',')[0]))
 .OrderByDescending(d => d)
 .Take(count: 5);
于 2013-09-01T11:17:04.857 回答
0

大约是这样的:

var maxDT = File.ReadLines (file)
    .Select (line => DateTime.Parse (line.Split (',') [0]))
    .Max ();
于 2013-09-01T11:12:37.620 回答