Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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# 使用字符串[]在XmlNode中查找最新日期_C#_Arrays_Xmlnode_Xmlnodelist - Fatal编程技术网

C# 使用字符串[]在XmlNode中查找最新日期

C# 使用字符串[]在XmlNode中查找最新日期,c#,arrays,xmlnode,xmlnodelist,C#,Arrays,Xmlnode,Xmlnodelist,我在一个XmlNodeList中循环,以字符串[]的形式获取节点创建的日期。例如: date[0] = 2016 //year date[1] = 07 //month date[2] = 23 //day 我的问题是,将这个string[]与另一个string[]进行比较的最有效方法是什么,以找出哪个字符串的日期最晚?我可以用一堆if语句来比较每个元素,但我觉得这不是最好/最漂亮的解决方案。提前感谢。您可以使用ParseExact从字符串[]中创建DateTime。然后由it订购: List

我在一个
XmlNodeList
中循环,以字符串[]的形式获取节点创建的日期。例如:

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

我的问题是,将这个
string[]
与另一个
string[]
进行比较的最有效方法是什么,以找出哪个字符串的日期最晚?我可以用一堆if语句来比较每个元素,但我觉得这不是最好/最漂亮的解决方案。提前感谢。

您可以使用
ParseExact
字符串[]
中创建
DateTime
。然后由it订购:

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
列表数据=新列表
{ 
新字符串[]{“2016”、“07”、“23”},
新字符串[]{“2017”、“01”、“01”}
};
var latestTime=data.OrderByDescending(项=>
DateTime.ParseExact(string.Join(“/”,item),@“yyyy/MM/dd”,null))
.FirstOrDefault();
//最晚时间=2017年1月1日