从DateTime列表中查找最高DateTime

sha*_*ane 1 c# datetime list max

我的问题是,我想从DateTime列表中找到最高的DateTime?

我有一个数组假设 string[] btime = new string[100];

在这阵,我存储从该SQL-Server中的SQL查询来的日期[CONVERT(varchar(10),GETDATE(),101)]是在格式返回日期MM/DD/YYYY
然后我串联我自己定的时间日期后,
.btime[j] = SqlServerDate + " " + 15:20;等;

现在,从这个给定的数组我想找到最高的日期和时间

所以,我使用了这个逻辑

string large=""
large=btime[0];

 for (int i = 0; i < j; i++)
 {
    if (DateTime.Compare(DateTime.Parse(btime[i]),DateTime.Parse(large)) > 0)
    {
        large = btime[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到错误

if(DateTime.Compare(DateTime.Parse(btime[i]),DateTime.Parse(large)) > 0)
Run Code Online (Sandbox Code Playgroud)

错误是字符串无法识别为有效DateTime由于我的系统日期时间格式为yyyy/dd/MM而发生此错误

所以Plz任何人都可以帮助我解决这个问题,我不想改变系统的格式

Jon*_*eet 6

其他人提出了不同的解析方法DateTime.这对我来说似乎毫无意义 - 如果您可以更改查询,只需避免首先执行转换为字符串.您使用的转换次数越少,此类问题出现问题的可能性就越小.

更改查询,以便最终得到DateTime值,然后在LINQ中找到最新的查询是微不足道的:

DateTime latest = dateTimes.Max();
Run Code Online (Sandbox Code Playgroud)