gpt4 book ai didi

c# - 如何使用 LINQ 选择然后 OrderBy?

转载 作者:行者123 更新时间:2023-12-03 22:50:31 24 4
gpt4 key购买 nike

我正在尝试使用来自 question 的以下代码根据日期对 CSV 文件的内容进行排序之前发过一个:

private class CSVEntry
{
public DateTime Date { get; set; }
public string Grp { get; set; }
}

...

List<CSVEntry> csvList = new List<CSVEntry>();

csvList.Add(new CSVEntry() { Date = DateTime.ParseExact(col[7], "dd/MM/yyyy", null), Grp = col[9] });

var results = csvList.OrderBy(x => x.Date); // An error occurs at "Date".

...

但我收到了这个错误:

'string' does not contain a definition for 'Date' and no extension method 'Date' accepting a first argument of type 'string' could be found.



我想要的输出是来自其他列但按时间顺序排序的字符串。当我尝试使用此代码显示日期时:
var results = csvList.Where(x => x.Grp == "DEFAULT").OrderBy(x => x.Date);

它与输出完美配合,因为日期按时间顺序排序。但是,这次我不想显示日期。我想像我上面提到的那样显示来自其他列的字符串。我尝试使用
var results = csvList.Select(x => x.Grp).OrderBy(x => x.Date);

但也得到了同样的错误。我哪里错了?我是 LINQ 的新手,不熟悉 List<T>IEnumerable<T>这是我第一次使用它们。

最佳答案

添加 Select在您订购记录后,如下所示

var results = csvList
.Where(x => x.Grp == "DEFAULT")
.OrderBy(x => x.Date)
.Select(x => x.Grp);

关于c# - 如何使用 LINQ 选择然后 OrderBy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37205657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com