如果在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...