使用 string[] 在 XmlNode 中查找最新日期

Finding the latest date in XmlNode using string[]

我正在遍历 XmlNodeList 并在字符串 [] 中获取节点创建日期。例如:

date[0] = 2016 //year
date[1] = 07 //month
date[2] = 23 //day

我的问题是,将此 string[] 与另一个 string[] 进行比较以查找哪个具有最新日期的最有效方法是什么?我可以用一堆 if 语句将每个元素相互比较,但感觉这不是 best/prettiest 解决方案。提前致谢。

您可以使用 ParseExactstring[] 中创建一个 DateTime。然后按它排序:

List<string[]> data = new List<string[]>
{ 
    new string[] { "2016", "07", "23" }, 
    new string[] { "2017", "01", "01" } 
};

var latestTime = data.OrderByDescending(item => 
                         DateTime.ParseExact(string.Join("/", item), @"yyyy/MM/dd", null))
                     .FirstOrDefault();

//latestTime = 1/1/2017