C#知識系列
SortedList是專門用在排序Key/Value,這些Key/Value可以拿來透過Key的方式來存取
來展示一下這個集合的用法,稍微留意底下的data集合變數,內容是不固定的。
class Program
{
private static void Main(string[] args)
{
SortedList<int, string> data = new SortedList<int, string>
{
[2] = "李二",
[5] = "趙五",
[3] = "陳三"
};
foreach (KeyValuePair<int, string> kvp in data)
{
Console.WriteLine($"Id={kvp.Key}, Name={kvp.Value}");
}
}
}
結果如下,它是按照key的值,進行由小到大的排序。
如果想反轉的話,由大到小呢?
Console.WriteLine("反轉");
var query = data.OrderByDescending(x=>x.Key);
foreach (KeyValuePair<int,string> kvp in query)
{
Console.WriteLine($"Id={kvp.Key}, Name={kvp.Value}");
}
這個其實有一個地方,我們來實驗一下,如果中途加入部分呢?
SortedList<int, string> data = new SortedList<int, string>
{
[2] = "李二",
[5] = "趙五",
[3] = "陳三"
};
//中途加入
data.Add(4,"李四");
foreach (KeyValuePair<int, string> kvp in data)
{
Console.WriteLine($"Id={kvp.Key}, Name={kvp.Value}");
}
討論:
SortedList結合陣列與清單語法,方便使用任何一個格式存取資料,其中資料可以透過Key/Value直接以索引存取
有幾點要注意的是
1.Key不能null
2.Value可以null
3.foreach查看項目是使用KeyValuePair作為傳回的類型
元哥的筆記