【发布时间】:2013-11-18 11:24:11
【问题描述】:
我正在尝试在 c# 中创建一个“有序”对象列表,其中列表将按 ImdbId 属性中最常见的值进行排序。 我没有使用数据库,我从列表中的远程 api 获取结果,我只需要以优雅的方式对列表进行排序。
class Movie
{
String ImdbId {get; set; }
String Name {get;set;}
... more properties
}
未排序列表示例:
imdbId | Name
698649 | "Sex and the City" Models and Mortals
698669 | "Sex and the City" The Awful Truth
698649 | "Sex and the City" Models and Mortals
698649 | "Sex and the City" Models and Mortals
698679 | "Sex and the City" The Drought
698697 | "Sex and the City" Valley of the Twenty-Something Guys
1568911 | War Horse
排序后应该是这样的:
imdbId | Name
698649 | "Sex and the City" Models and Mortals
698649 | "Sex and the City" Models and Mortals
698649 | "Sex and the City" Models and Mortals
698669 | "Sex and the City" The Awful Truth
698679 | "Sex and the City" The Drought
698697 | "Sex and the City" Valley of the Twenty-Something Guys
1568911 | War Horse
这是另一个例子:
imdbId | Name
1568911 | War Horse
698690 | "Sex and the City" The Turtle and the Hare
698653 | "Sex and the City" Old Dogs, New Dicks
698690 | "Sex and the City" The Turtle and the Hare
698690 | "Sex and the City" The Turtle and the aHare
1000774 | Sex and the City
排序后应该是这样的:
imdbId | Name
698690 | "Sex and the City" The Turtle and the Hare
698690 | "Sex and the City" The Turtle and the Hare
698690 | "Sex and the City" The Turtle and the aHare
698653 | "Sex and the City" Old Dogs, New Dicks
1000774 | Sex and the City
1568911 | War Horse
我尝试关注但没有成功。
List<Movie> newList = List
.OrderByDescending(a => a.ImdbId)
.ThenByDescending(a => a.ImdbId.Count())
.ToList();
知道如何使用 lambda 或 LINQ 来实现吗?
【问题讨论】:
-
顺便说一句,你有没有尝试过?
-
你写的陈述有什么问题?
-
你能举个例子吗
-
在我的声明中,它只是按 imdbid 排序结果,而不是按最常见的 imdbid 排序
-
@Ian Nelson 抱歉,我没有看到,我编辑了我的问题