#c# #arrays #xmlnode #xmlnodelist
#c# #массивы #xmlnode #xmlnodelist
Вопрос:
Я перебираю XmlNodeList
и получаю дату создания узлов в строке []. Например:
date[0] = 2016 //year
date[1] = 07 //month
date[2] = 23 //day
Мой вопрос в том, что было бы наиболее эффективным способом сравнения этого string[]
с другим string[]
, чтобы найти, у какого из них последняя дата? Я мог бы сделать это с помощью нескольких операторов if, сравнивающих каждый элемент друг с другом, но чувствую, что это не самое лучшее / красивое решение. Заранее спасибо.
Ответ №1:
Вы могли бы использовать ParseExact
для создания DateTime
из string[]
. Затем упорядочивайте по нему:
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