Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取最接近当前日期的项目_C#_List_Datetime - Fatal编程技术网

C# 获取最接近当前日期的项目

C# 获取最接近当前日期的项目,c#,list,datetime,C#,List,Datetime,在我的数据库中,我有一个具有以下属性的项目列表: public System.DateTime CARD_OF_DAY_DATE_CREATED { get; set; } 我需要获取创建的CARD_OF_DAY_DATE_最接近DateTime的项目。现在使用c。我可以做大量的for/foreach循环,但我想知道是否有一个好的、有效的方法来处理任何事情 注意:创建的CARD\u OF_DAY\u DATE\u字段只需检查forward,这意味着检查创建的CARD\u OF_DAY\u DA

在我的数据库中,我有一个具有以下属性的项目列表:

public System.DateTime CARD_OF_DAY_DATE_CREATED { get; set; }
我需要获取创建的
CARD_OF_DAY_DATE_
最接近
DateTime的项目。现在使用c
。我可以做大量的for/foreach循环,但我想知道是否有一个好的、有效的方法来处理任何事情

注意:创建的
CARD\u OF_DAY\u DATE\u
字段只需检查forward,这意味着检查创建的
CARD\u OF_DAY\u DATE\u是否在昨天是不相关的,因为这些项目不在列表中。

使用LINQ:

var item = list
    .Where(i => i.CARD_OF_DAY_DATE_CREATED > DateTime.Now)
    .OrderBy(i => i.CARD_OF_DAY_DATE_CREATED)
    .First();

这取决于收集情况,没有任何假设,您只能为每个人做大量的工作。事情是不同的,例如,如果它是一个有序的列表,你可以选择一个存储过程,也许…是的,很好!我想那很好:)我会试试看!
First()。OP一定知道这一点,因为他问“…可以为/foreach循环做大量的工作,但我想知道是否有一个好的、高效的…”语法是一回事,但如果您有任何东西可以提供@Adriano,我很乐意看到it@HerveS为了保持良好的语法(然后是枚举的性能损失),我将使用
list.Where(x=>x.CARD\u OF_DAY\u DATE\u CREATED>DateTime.Now).Min(x=>x.CARD\u OF_DAY\u DATE\u CREATED)
。如果您只对最小值感兴趣,则无需排序。。。