用戶有一個List<Call> CallsToMake
每個調用都有一個屬性DateTime TimeStamp
。通過LINQ查詢獲取具有最短日期時間的行
我嘗試獲得具有最早(最小)時間的Call
。我見過的例子顯示如何獲得最小TimeStamp
,但我不知道如何獲得最小TimeStamp
Call
。
我不知道在這裏補充:由TimeStamp
user.CallsToMake.Where(call => call.TimeStamp)
用戶有一個List<Call> CallsToMake
每個調用都有一個屬性DateTime TimeStamp
。通過LINQ查詢獲取具有最短日期時間的行
我嘗試獲得具有最早(最小)時間的Call
。我見過的例子顯示如何獲得最小TimeStamp
,但我不知道如何獲得最小TimeStamp
Call
。
我不知道在這裏補充:由TimeStamp
user.CallsToMake.Where(call => call.TimeStamp)
排序調用和選擇第一個:
Call firstCall = user.CallsToMake.OrderBy(i => i.TimeStamp).FirstOrDefault();
您還可以使用Aggregate
,從而獲得所需的值不排序:
Call firstCall = user
.CallsToMake
.Aggregate((min, current) =>
(current.TimeStamp < min.TimeStamp ? current : min)
);
[Enumerable.OrderBy](http://msdn.microsoft.com/en-us/library/vstudio/bb534966%28v=vs.100%29.aspx) – 2014-09-12 15:35:22
@h uMptyduMpty:沒有必要對整個集合進行排序,只是爲了獲得具有最小值的項目。你可以一次完成。 – 2014-09-12 15:36:21
@JonSkeet:當然,我沒有想到。謝謝! – 2014-09-12 15:37:12