我有日期時間值(例如,12/01/2010 10:10:222 ..)我如何以降序顯示年份?例如,2011年,2010年,2009年,2008年等。我需要按照年份部分進行分組並返回。我實際上需要返回年份和名稱。我需要使用其他功能的名稱,這就是爲什麼我需要2個值。如何使用Linq命令按組排序並按結果排序
感謝您的幫助......
我有日期時間值(例如,12/01/2010 10:10:222 ..)我如何以降序顯示年份?例如,2011年,2010年,2009年,2008年等。我需要按照年份部分進行分組並返回。我實際上需要返回年份和名稱。我需要使用其他功能的名稱,這就是爲什麼我需要2個值。如何使用Linq命令按組排序並按結果排序
感謝您的幫助......
這真不明白你的意思,但你威力只是想是這樣的:
var query = collection.GroupBy(record => record.DateProperty.Year)
.OrderBy(group => group.Key);
如果這不是你所追求的,請提供更多細節 - 最好是一些樣本輸入和所需的輸出。
如果只想從每組中的一個條目,你是樂於接受任何一個,得到的名字,而你只需要一年,你可以這樣做:
var query = collection.GroupBy(record => record.DateProperty.Year)
.Select(g => new { Year = g.Key, Name = g.First().Name })
.OrderBy(x => x.Year);
我會使用DISTINCT和OrderByDescending擴展:
var years = IQueryableObject
.Distinct(x => x.Year).OrderByDescending(x => x.Year).ToList();
區別不需要一個參數來說明如何區分它,所以這不會被編譯。 – 2011-06-12 11:16:12
這對我有效:var sortedList =(從newsPressReleaseGenericList中的p orderby p.ReleaseDate.Year降 選擇新的{ReleaseDate = p.ReleaseDate.Year})。Distinct(); – obautista 2011-06-12 14:56:43
你是什麼意思「返回年份和名稱」?如果多個條目具有相同的名稱會怎麼樣? – 2011-06-12 11:16:41