-1

Book項目を含むC#でIDでリストをソートするにはどうすればよいですか?

static List<Book> sorted = new List<Book>();

public string title { get; set; }
public string summary { get; set; }
public int id { get; set; }
public int numberofauthors { get; set; }
public string author {get; set;}

sorted[k].idしかし、列だけでなく、リスト全体を並べ替えたいです。

4

3 に答える 3

2

LINQ を試す:

var sortedList = sorted.OrderBy(x => x.id).ToList();
于 2013-05-24T15:54:38.463 に答える
0

+ whatList.Sortの代わりに、このリストをソートする which doesを使用して、新しいリストを作成できます。したがって、実装する必要がありますEnumerable.OrderByToListIComparable<Book>

class Book : IComparable<Book>
{
    public string title { get; set; }
    public string summary { get; set; }
    public int id { get; set; }
    public int numberofauthors { get; set; }
    public string author { get; set; }

    public int CompareTo(Book other)
    {
        if (other == null) return 1;

        return id.CompareTo(other.id);
    }
}

これで動作します:

books.Sort();

クラスを変更せずList.Sortに、カスタムで使用することもできますComparison<Book>:

books.Sort((b1, b2) => b1.id.CompareTo(b2.id));
于 2013-05-24T15:58:01.463 に答える
0
sorted.OrderBy(book => book.id);

これはあなたが考えていることですか?それともこれ? http://msdn.microsoft.com/en-us/library/w56d4y5z.aspx

この質問は何度も回答されていると確信しています。Googleを試しましたか?

于 2013-05-24T15:56:57.947 に答える