List排序(匿名方法)

2021-08-07 16:22:35 字數 1816 閱讀 7277

如果在list中存入的是單個變數,用list.sort便可以執行公升序,用list.reverse執行降序操作;

以下list為例:

listlis = new list();

lis.add(5);

lis.add(3);

lis.add(1);

lis.add(7);

lis.add(8);

lis.sort();

foreach(int number in lis)

console.writeline();

lis.reverse();

foreach (int number in lis)

但是抽象乙個使用者的類,類裡面有使用者名稱,密碼等資訊存入list中,用以上方法進行排序或者降序顯然是做不到的:

public class people

set

}private string userpass;

public string userpass

set

}public people(string name, string pass)

}class program

按照以上方法進行排序,執行編譯後,編譯器顯示為:

那麼如何將這個類進行排序呢?

首先想實現排序,必須以這個類中的乙個屬性為標準(讓此屬性前後兩個值相互比較),那麼就用到了匿名函式方法,將以上          list.sort();  改為:

list.sort

(delegate(people x, people y)

);foreach (people number in list)

通過匿名方法實現了這個類的密碼屬性兩兩之間相互比較進而實現list中存放people這個類的公升序。

還有一種用lambda(=>或者=

list.sort

((x, y) =>

);foreach (people number in list)

還有一種排序是通過介面實現的:

class people : icomparable

public int id

set}

public string name

set}

//重寫tostring

public override string tostring()

public int compareto(people other)

}class program

console.writeline("排序前:");

foreach (var p in list)

list.sort();//排序

console.writeline("排序後:");

foreach (var p in list)}}

簡單介紹list的排序,希望對大家有幫助!

List的各種排序方法

近日,在工作的時候遇到要對乙個大的list集合進行排序,於是就了解下各種list的排序方法。首先,排序自然就會想到用sort方法,看看list的sort方法各個過載版本 public void sort public void sort comparisoncomparison public voi...

List的各種排序方法

近日,在工作的時候遇到要對乙個大的list集合進行排序,於是就了解下各種list的排序方法。首先,排序自然就會想到用sort方法,看看list的sort方法各個過載版本 public void sort public void sort comparisoncomparison public voi...

List的各種排序方法

list的各種排序方法 近日,在工作的時候遇到要對乙個大的list集合進行排序,於是就了解下各種list的排序方法。首先,排序自然就會想到用sort方法,看看list的sort方法各個過載版本 public void sort public void sort comparisoncompariso...