집 >백엔드 개발 >C#.Net 튜토리얼 >C#에서 Dictionary의 순서와 역순에 대한 자세한 설명
key는 웹페이지입니다. 이름과 값은 웹페이지 방문 횟수에 해당하므로 int는 키로 사용할 수 없습니다. 웹페이지 이름만 사용할 수 있습니다. Dictionary 객체를 생성하고 데이터를 추가하는 방법은 다음과 같습니다. :
Dictionary<string, int> dic = new Dictionary<string, int>(); dic.Add("index.html", 50); dic.Add("product.html", 13); dic.Add("aboutus.html", 4); dic.Add("online.aspx", 22); dic.Add("news.aspx", 18);2. .net 3.5 이상에 대한 사전 정렬(예: linq 사전 정렬) 1. 값 값으로 사전 정렬
private void DictonarySort(Dictionary<string, int> dic) { var dicSort = from objDic in dic orderby objDic.Value descending select objDic; foreach(KeyValuePair<string, int> kvp in dicSort) Response.Write(kvp.Key + ":" + kvp.Value + "<br />"); }결과 정렬: index.html: 50
online.aspx: 22
news.aspx: 18
product.html: 13
aboutus.html: 4
변수 dicSort 오른쪽에 있는 내림차순을 제거하면 됩니다.
2. C# 사전 키 정렬 Key로 정렬하려면 dicSort 변수 오른쪽의 objDic.Value를 objDic.Key로 변경하면 됩니다. 3. .net 2.0 버전 사전 정렬 1. 사전은 값별로 정렬됩니다(역순)private void DictionarySort(Dictionary<string, int> dic) { if (dic.Count > 0) { List<KeyValuePair<string, int>> lst = new List<KeyValuePair<string, int>>(dic); lst.Sort(delegate(KeyValuePair<string, int> s1, KeyValuePair<string, int> s2) { return s2.Value.CompareTo(s1.Value); }); dic.Clear(); foreach (KeyValuePair<string, int> kvp in lst) Response.Write(kvp.Key + ":" + kvp.Value + "<br />"); } }결과 정렬: index.html : 50
online.aspx: 22
news.aspx: 18
product.html: 13
aboutus.html: 4
키를 기준으로 역순으로 정렬하려면 return s2.Value.CompareTo(s1.Value);를 return s2.Key.CompareTo(s1.Key)로 변경하면 됩니다. s2.Key.CompareTo(s1.Key);는 s1.Key.CompareTo(s2.Key);를 반환하도록 변경될 수 있습니다.
위 내용은 C#에서 Dictionary의 순서와 역순에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!