Code Bye

这段代码用Linq怎么写

            string[] dates = (string[])cmd.ExecuteScalar();   //获取全部日期列表
            //获取小于指定date下的最大日期
            string maxdate = dates[0];
            for (int i = 0; i < dates.Length; i++)
            {
                int n1=Convert.ToDateTime(dates[i]).CompareTo(Convert.ToDateTime(maxdate));
                int n2 = Convert.ToDateTime(dates[i]).CompareTo(Convert.ToDateTime(date));
                if (n2 < 0)
                {
                    if (n1 > 0)
                        maxdate = dates[i];
                }
            }
            return maxdate;

这段代码就是想从一堆日期检索结果中找出指定日期(代码中的date)下的最近的日期。

解决方案

5

return dates.Max();

15

string[] dates = (string[])cmd.ExecuteScalar();   //获取全部日期列表
var date = Convert.ToDateTime(maxdate);
return dates.Where(d => Convert.ToDateTime(d) < date).Max();

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明这段代码用Linq怎么写