C# 如何获取我收藏中的最新日期时间

C# 如何获取我收藏中的最新日期时间,c#,linq,datetime,C#,Linq,Datetime,我的收藏 "10/01/2016 4:00 PM" "10/01/2016 11:00 AM" "10/01/2016 12:00 PM" 我想得到:“2016年1月10日下午4:00”,因为这是当前时间,也是最晚的时间。但是,当我使用.Max()函数时,它返回的值为“10/01/2016 12:00 PM”,这意味着它只是在寻找小时数“12”的最高值。您使用哪种集合?我用下面的代码测试了它 static void Main(string[] args) {

我的收藏

"10/01/2016 4:00 PM"
"10/01/2016 11:00 AM"
"10/01/2016 12:00 PM"

我想得到:“2016年1月10日下午4:00”,因为这是当前时间,也是最晚的时间。但是,当我使用.Max()函数时,它返回的值为“10/01/2016 12:00 PM”,这意味着它只是在寻找小时数“12”的最高值。

您使用哪种集合?我用下面的代码测试了它

   static void Main(string[] args)
        {
            List<DateTime> list = new List<DateTime>()
            {
                 DateTime.Parse("10/01/2016 4:00 PM") ,
                 DateTime.Parse("10/01/2016 11:00 AM"),
                 DateTime.Parse("10/01/2016 12:00 PM")
            };

            Console.WriteLine(list.Max());
            Console.ReadKey();
        }
static void Main(字符串[]args)
{
列表=新列表()
{
DateTime.Parse(“2016年1月10日下午4:00”),
DateTime.Parse(“2016年1月10日上午11:00”),
DateTime.Parse(“2016年1月10日下午12:00”)
};
Console.WriteLine(list.Max());
Console.ReadKey();
}

它可以用来比较
字符串

您需要将字符串集合转换为
DateTime

var dateTimeCollection = stringCollection.Select(value => DateTime.Parse(value));
然后使用
Max
方法

var maxDate = dateTimeCollection.Max();

谢谢你的编辑。我是新来的。请公布你是如何初始化你的收藏的,因为如果它是
DateTime
s,它应该可以正常工作。不,先生。当我按降序排序时,它按从高到低的顺序排序,这不是我想要的。我想要的排序应该是这样的:“10/01/2016 4:00 PM”“10/01/2016 12:00 PM”“10/01/2016 11:00 AM”或使用.Max()函数我想要得到4:00 PM,就像您排序的是
字符串
类型,而不是
日期时间
。首先将您的收藏转换为
DateTime
的收藏
var maxDate=stringCollection.Select(value=>DateTime.Parse(value)).Max()@DarkKnight-请出示您的代码,因为当我尝试时它很好是的,您下面的答案是正确的谢谢@Fabio我不再困惑:)sry这是正确的:)。然而,这是否也正确?collection.Max(Value=>DateTime.Parse(Value.Date))?