在 c# (.net 3.5 之後) 中集合是可以通過 orderby() 和 orderbydescending()方法來進行排序的,
如果需要集合中的元素是物件,還可以通過 lambda表示式進行按屬性排序,如:
定義乙個學生類:
class按學生名字排序,如果同名的,則按學號公升序排序:student
public
string name
public
string hometown
public student(int id, string name, string
hometowm)
}
listlist = new list() ;listbox.itemssource = list.orderby(x => x.name); // just order by name
listbox2.itemssource = list.orderby(x => x.name).thenbydescending(x => x.id); // order by name, and then order desc by id
}由上可見,多個條件時使用的是thenby()以及thenbydescending()方法
結果:只按 name 排序:
先按 name 排序,再按 id 逆序:
Python中集合(set)型別
python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...
C 中集合彙總
平時敲 只關注如何使用,沒有深入去研究一些本質性的東西,靠死記硬背,不去真正理解,其實最後是很難記住的。對於c 常見的集合,自己平時好像只有用到list,dictionary,arraylist,array等幾個,其實c 的集合遠遠不止這幾個,一直認為dictionary是有序集合,哎,錯了好久,今...
C 中集合的排序
arraylist,list,dictionary等c 中常用到的集合都有乙個預設的sort方法,這個方法可以進行預設排序。但是如果這些集合中的元素是自定義的類,那麼這個預設的sort可能就不準確了。文章中使用到的命名空間是system,介面是 icomparable 和 icomparer。sor...