📅  最后修改于: 2023-12-03 15:30:16.667000             🧑  作者: Mango
SortedDictionary
是 C# 中的一种基于红黑树的有序字典实现,它能够存储键值对,并且保证键的有序。 SortedDictionary
提供了一些方法,可以实现查找特定键,向字典中添加键值对,移除特定键值对等操作。
我们来看一个演示 SortedDictionary
的基本用法的示例:
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
SortedDictionary<string, int> dict = new SortedDictionary<string, int>();
// 添加键值对
dict.Add("goose", 1);
dict.Add("lion", 5);
dict.Add("zebra", 3);
// 使用 foreach 遍历键值对
foreach (KeyValuePair<string, int> kvp in dict)
{
Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
// 通过键获取值
int value;
if (dict.TryGetValue("lion", out value))
{
Console.WriteLine("The value of 'lion' is {0}", value);
}
// 移除键值对
dict.Remove("goose");
}
}
输出:
Key = goose, Value = 1
Key = lion, Value = 5
Key = zebra, Value = 3
The value of 'lion' is 5
可以使用 Add
方法向 SortedDictionary
中添加键值对, 如果键已经存在,它将会抛出异常。 如果需要要重复添加键值对可以使用 []
操作符来访问键的值。
// 创建 SortedDictionary
SortedDictionary<string, int> dict = new SortedDictionary<string, int>();
// 添加元素
dict.Add("goose", 1);
dict.Add("lion", 5);
dict.Add("zebra", 3);
// 使用 [] 操作符访问键的值
dict["lion"] = 10; //替换值
dict["bird"] = 2; //添加元素
SortedDictionary
可以使用以下方式获取其内容:
foreach
遍历所有键值对Count
获取元素个数TryGetValue(key, out value)
获取某个键的值,如果键不存在不会抛出异常,而是返回 false
// 创建 SortedDictionary
SortedDictionary<string, int> dict = new SortedDictionary<string, int>();
// 添加元素
dict.Add("goose", 1);
dict.Add("lion", 5);
dict.Add("zebra", 3);
// 遍历所有键值对
foreach (KeyValuePair<string, int> kvp in dict)
{
Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
// 获取键的值
int value;
if (dict.TryGetValue("lion", out value))
{
Console.WriteLine("The value of 'lion' is {0}", value);
}
输出:
Key = goose, Value = 1
Key = lion, Value = 5
Key = zebra, Value = 3
The value of 'lion' is 5
SortedDictionary
可以使用 Remove
方法移除指定键的键值对。 如果移除失败会返回 false
值。
// 创建 SortedDictionary
SortedDictionary<string, int> dict = new SortedDictionary<string, int>();
// 添加元素
dict.Add("goose", 1);
dict.Add("lion", 5);
dict.Add("zebra", 3);
// 移除键值对
dict.Remove("goose");
// 遍历所有键值对
foreach (KeyValuePair<string, int> kvp in dict)
{
Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
输出:
Key = lion, Value = 5
Key = zebra, Value = 3
SortedDictionary
是 C# 中的一种基于红黑树的有序字典实现,它能够存储键值对,并且保证键的有序。在需要有序字典的时候很有用。其提供了添加、遍历、获取、移除键值对等一系列常见操作。