Индексатор ConcurrentDictionary
Запись map[key] = value у
ConcurrentDictionary
добавляет или перезаписывает пару.
Чтение отсутствующего ключа бросает
KeyNotFoundException.
Коллекция безопасна для нескольких потоков;
примеры - в одном потоке.
Синтаксис
map[key] = value;
TValue item = map[key];
Пример
Давайте записать через индексатор:
using System;
using System.Collections.Concurrent;
class Program
{
static void Main()
{
ConcurrentDictionary<string, int> map =
new ConcurrentDictionary<string, int>();
map["abcde"] = 1;
int res = map["abcde"];
Console.WriteLine(res);
}
}
Результат выполнения кода:
1
Пример
Давайте перезаписать значение:
using System;
using System.Collections.Concurrent;
class Program
{
static void Main()
{
ConcurrentDictionary<string, int> map =
new ConcurrentDictionary<string, int>();
map["abcde"] = 1;
map["abcde"] = 2;
int res = map["abcde"];
Console.WriteLine(res);
}
}
Результат выполнения кода:
2
Пример
Давайте прочитать отсутствующий ключ:
using System;
using System.Collections.Concurrent;
class Program
{
static void Main()
{
ConcurrentDictionary<string, int> map =
new ConcurrentDictionary<string, int>();
try
{
int res = map["abcde"];
}
catch (KeyNotFoundException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Смотрите также
-
TryAdd,
добавить без перезаписи -
GetOrAdd,
без исключения -
TryRemove,
удалить пару -
ConcurrentDictionary,
класс словаря