使用list容器提供的sort(icomparercomparer)方法,實現物件根據某個屬性進行排序。說明如下:
1、自定義類person
class person
2、建立時間比較器
// 時間比較器
class timecomparer : icomparer
}
icomparer是泛型介面,引數使用我們用來比較的物件的型別。同理,年齡比較器如下
// 年齡比較器
class agecomparer : icomparer
}
3、建立list容器
listlistperson = new list();
4、向容器中新增1000個物件
person p ;
random rd = new random();
for(int i = 0; i < 1000; i++)
5、呼叫sort方法排序
listperson.sort(new timecomparer());
6、排序結果
7、全部**
using system;
using system.collections;
using system.collections.generic;
using system.diagnostics;
using system.linq;
using system.text;
using system.threading;
using system.threading.tasks;
using static system.net.mime.mediatypenames;
sp.restart();
// 按時間排序
listperson.sort(new timecomparer());
// 按年齡排序
agecomparer());
sp.stop();
console.writeline("排序耗時:"+ sp.elapsedmilliseconds);
console.writeline("");
for (int i = 0; i < listperson.count; i++)
console.readline();
return;}}
class person
// 年齡比較器
class agecomparer : icomparer
}// 時間比較器
class timecomparer : icomparer}}
根據屬性值對Array進行排序
trees new array for var i int 0 i 500 i trees.sorton z array.numeric array.descending for i 0 i 500 i array.sort comparefunction sortoptions 其引數定義如下 s...
物件陣列通過物件的屬性進行排序
最常見的對陣列進行排序,可以用sort 方法,按照陣列中元素的首字母或者數字大小進行排序 var arr 2,5,13,7,4,9,1 var arr1 arr.sort console.log arr 1,13,2,4,5,7,9 console.log arr1 1,13,2,4,5,7,9 s...
物件集合list根據物件屬性排序2015 8 16
排序的方法類 排序演算法,可以呼叫這個方法進行倒序 順序 param list 要進行排序的 list param method 要對list中的物件的那個屬性的get方法進行排序 比如 時間 time get方法為gettime 只需要傳入gettime即可 param sort 傳入字串 是進行...