Dictionary<Guid, DateTime> d = new Dictionary<Guid, DateTime>();
Как я могу получить Guid со значением MAX?
Ответ 1
Использование LINQ:
d.Keys.Max(); // Returns the greatest key
Ответ 2
Это отлично работает. Он вернет идентификатор GUID для даты MAX.
Dictionary<Guid, DateTime> d = new Dictionary<Guid, DateTime>();
var guidForMaxDate = d.FirstOrDefault(x => x.Value == d.Values.Max()).Key;
Ответ 3
var maxGuid = Guid.Empty;
var maxDateTime = DateTime.MinValue;
foreach (var kvp in d)
{
if (kvp.Value > maxDateTime)
{
maxGuid = kvp.Key;
maxDateTime = kvp.Value;
}
}
Console.WriteLine("Guid of max date is: " + maxGuid.ToString());
Ответ 4
Руководство реализует IComparable, поэтому:
d.Keys.Max()
Также непонятно, почему это хотелось бы сделать...
Ответ 5
Заказ ваших данных в первую очередь может быть одним из решений.
var maxGuid = d.OrderByDescending(x => x.Value).FirstOrDefault().Key;
Ответ 6
Другой способ может помочь получить Single KeyValuePair.