C集合及集合內排序問題速求,c 集合排序

2022-11-20 12:15:10 字數 2271 閱讀 6946

1樓:小林子

1全部c#中常用到的集合都有一個預設的sort方法,這個方法可以進行預設排序。

但是如果這些集合中的元素是自定義的類,那麼這個預設的sort可能就不準確了。

文章中使用到的名稱空間是system,介面是 icomparable 和 icomparer。

sort的預設無引數的比較方式,我個人認為是icomparable中的compareto函式。

抄寫書上的兩個例子來輔助記憶:

[csharp] view plaincopy

class person : icomparable

public string name

public int compareto(object obj)}}

[csharp] view plaincopy

class personcomparername : icomparer

}如果在集合中新增的全是person物件,這個集合名稱為list,那麼sort方法:

list.sort(),這個方法將使用person中的compareto方法,通過年齡來對比

list.sort(personcomparername.default),這個方法將使用person中的compare方法,通過名字來對比。

另外list,這個東西居然可以用來繼承。。。。以前都不知道的,不過感覺意義不大。

sort方法還可以使用第三種方式來排序,但是第三種方式的排序需要另外寫一個函式方法。

[csharp] view plaincopy

public int comparesort(point x, point y)

[csharp] view plaincopy

comparisonsorterx = new comparison(comparesort);

list.sort(sorterx);

這樣就可以呼叫了。

2樓:匿名使用者

1. 先看什麼型別的資料,是float 還是double,int2.定義,比如 list list = new list3.

1 list.sort().它有一個預設排序。

檢視文件說明3.2 如果想自己排序 list.sort(icomparision), 先定義一個繼承比較介面的類,作為引數就可以了

3樓:希明潔

listlist1 = new list();

for (int i = 0; i < 10; i++) //輸入10~1

list1.sort(); //排序int min = list1.min(); //輸出最小值for (int i = 0; i < list1.

count; i++) //顯示

",list1[i]);

}console.writeline("\n最小值是:",min);

多上微軟的msdn上看看,在網上也能搜到一大堆~

4樓:匿名使用者

list有sort方法的

要自己給型別t定義一個比較的規則

然後調sort方法就好了

5樓:匿名使用者

回答問題,為了完成任務。

c#集合排序

6樓:匿名使用者

這個是linq和lamda語法,上面這個意思很容易理解,就是從dic這個集合中按元素的value值升序排序,之後取出每個元素重新組成一個新的dictionary

7樓:匿名使用者

在dic的列表,以value欄位倒序排列,然後建立一個dictionary(字典),將每個項新增到此字典中,key值為key欄位,value為value欄位

c# list集合中有一個模型,然後怎麼根據裡面某一個欄位排序

8樓:匿名使用者

你好,最簡單的方法:

名稱空間引用using system.linq;

假設你的這個ilist的物件名為listtemp;

var listresult = listtemp.orderbydescending ( x => x.age ).tolist();

9樓:陽光的雷咩咩

var sorted=listusers.orderby(x=>x.age);

foreach(user u in sorted)

//這裡已經是排序過的了

List集合問題,list集合裡的問題

出這個結果的原因很清楚,你但不調一下就能看出來,因為你的原始的list中有兩個張三,之後生成的itemlist中也是有兩個張三!itemlist 所以列印出來的結果是 張三discount 張 李四discount 李 王五張三 discount 張 看了註釋也不知道什麼問題哦。能詳細說說麼?lis...

數學中集合的問題,數學中集合的問題

後者表示前一個集合包含於後一個集合,即前一個集合中的元素都在後一個集合裡 前者加 表示表示前一個集合包含於後一個集合,而且這兩個集合不相等 a b 表示a是b的真子集,即b包含a.a的所有元素都是b的元素,但b中的元素不一定是a的元素.和 a b 表示a是b的子集,即b包含a.但a的元素有可能和b的...

離散數學集合論問題,離散數學集合論問題

1 如圖 2 b 極大元 2,5 極小元 1,3 答題不易,請及時採納,謝謝!集合a a裡的元素是1,2,可以說1屬於a,2屬於a,屬於a,屬於a。而是包含於a但不屬於a 集合的概念要分清包含,屬於,元素與集合之間是屬於關係,集合與集合之間是包含 包含於的關係 離散數學 集合論的問題 集合a a裡的...