C IList集合擴充套件方法 集合排序

2021-07-10 21:27:46 字數 1315 閱讀 4080

在平常開發中,經常要遇到集合排序的功能,可以用集合自帶的sort 或者orderby方法進行排序,但是要自定義比較器,每次使用都比較麻煩,所以就自己琢磨寫了個集合的擴充套件方法,專門用來排序集合,起名叫做 「orderbyfield」。

方法有兩個引數,ordername 和 order,前者是要排序的欄位名稱,後者為排序方式,公升序或者降序。

擴充套件方法**:

/// /// ilist根據字段排序

///

///

///

/// 排序屬性名稱

/// 排序方式(asc|desc)

public static void orderbyfield(this ilistlist, string ordername, string order = "asc")

);if (order == "desc")}}

**中用到了反射來動態取出欄位的值,再呼叫了ilist的sort方法進行了排序,

最後如果傳過來的是降序(desc),則反轉一下集合。

使用例項:

定義學生實體類:

class student

public student(string no, string name, int age)

public string no

public string name

public int age

}

定義集合:

liststudents = new list();

students.add(new student("001", "cuixingmin", 25));

students.add(new student("002", "sinman", 23));

students.add(new student("003", "trey", 22));

students.add(new student("004", "brucelee", 24));

students.orderbyfield("name", "asc");

檢視排序前後結果:

排序前:

排序後:

結果是預期的結果,是按name公升序asc排序的。

python 集合方法 python集合(方法)

集合 空集合 set 只能增刪查 不能改 本身是可變的資料型別 不可雜湊 裡面的元素是不可變的 可雜湊 無序的,不重複 列表 字典是可變的 不可以作為集合的元素 作用 去重 關係測試 li 1,2,3,4,5,5,4,3,2,1,a list set li prrint a add 增加 updat...

DBHelper 方法集合

using system using system.collections.generic using system.text using system.data.sqlclient using system.data using system.configuration using booksho...

set集合方法

集合操作符 集合有四種基礎運算方法,並,交,差,補 s t 並運算,返回乙個新集合,包含在集合s和t中的所有元素 s t 交運算,返回乙個新集合,包含既在s中又在t中的集合 s t 差運算,返回乙個新的集合,包含在集合s中但是不在集合t中的元素 s t 補運算,返回乙個新集合,包含集合s和t中的不相...