如何对类型类列表进行排序?

时间:2018-06-01 18:41:34

标签: c# .net sorting

我有一个看起来像这样的课程

class FeaturedListing 
{
    public string Title { get; set; }
    public string Link { get; set; }
    public string Published { get; set; }
    public string Views { get; set; }
    public string Featured { get; set; }
    public string CategoryName { get; set; }
}

然后我有一个看起来像这样的列表

public static List<FeaturedListing> FeatiredListingsList = new List<FeaturedListing>();

在该列表中添加几个对象后,如何按Views正确排序 视图看起来像这样

0 visits
52 visits
5 visits

2 个答案:

答案 0 :(得分:1)

最简单的方法是在OrderBy上执行FeaturedListing.Views

var orderedList = FeatiredListingsList.OrderBy(x => x.Views).ToList();

但是,如果您可以自由更改程序的结构,则应该考虑将Views设为int,以便进行正确的数字排序。如果您出于某种原因必须将Views的值输出为0 visits52 visits等,则更好的方法是在{{1}中创建仅get属性像这样的类:

FeaturedListing

答案 1 :(得分:0)

使用List.Sort - 使用指定的System.Comparison对整个List中的元素进行排序..

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Next Article</title>
    <style>div{width:600px; text-align: center; font-size: 1.5em} article{border: 2px solid blue; padding: 2em; margin: 1em}</style>
    <script src="jquery-3.3.1.js"></script>
    <script src="next-article.js"></script>
</head>
<body>
<div id="content"></div>
<div><button onclick="showNext()">Show Next Article</button></div>
</body>
</html>