📅  最后修改于: 2023-12-03 15:13:49.313000             🧑  作者: Mango
C# Map是一种数据结构,它将键和值一一对应。在C#中,Map通常使用Dictionary或ConcurrentDictionary实现。Map经常被用来表示可变的键值对集合,例如数据结构中的某些键的数量。
如果实现一个单线程的应用程序,那么可以使用Dictionary类。Dictionary类中有一个属性叫做Dictionary<TKey, TValue>.Count,它可以帮助开发者计算键值对的数量。同时,使用Dictionary类时,数据操作是线程安全的,但是可能不适用于多线程。
如果实现一个多线程的应用程序,那么可以使用ConcurrentDictionary类。ConcurrentDictionary类中也有一个属性叫做ConcurrentDictionary<TKey, TValue>.Count,它同样可以帮助开发者计算键值对的数量。同时,使用ConcurrentDictionary类时,数据操作是线程安全且性能好。
Map有三种基本操作:增加键值对、删除键值对、按键检索值。现在让我们看一下Map的三种基本操作的实现。
Dictionary<string, int> myMap = new Dictionary<string, int>();
myMap.Add("apple", 1);
myMap.Add("banana", 2);
myMap.Add("cherry", 3);
注释:上述代码创建了一个名为myMap
的Dictionary实例,并向其中添加了三个键值对。每个键都是一个字符串类型(例如"apple"),而每个值都是一个整数类型(例如1)。
myMap.Remove("banana");
注释:上述代码从myMap
中删除了键为"banana"的键值对。
int value;
bool containsKey = myMap.TryGetValue("cherry", out value);
if (containsKey)
{
Console.WriteLine(value);
}
注释:上述代码按键"cherry"从myMap
检索并返回了值3。如果无法找到这个键,则containsKey
将变成false
,不会输出任何信息。