Ответ 1
Создайте новый Dictionary
, передающий исходный словарь в конструкторе (конечно, это не будет копировать объекты в словаре, если они являются ссылочными типами):
var copied = new Dictionary<KeyType, ValueType>(originalDictionary);
Как я могу скопировать объект Dictionary по значению в С#
Создайте новый Dictionary
, передающий исходный словарь в конструкторе (конечно, это не будет копировать объекты в словаре, если они являются ссылочными типами):
var copied = new Dictionary<KeyType, ValueType>(originalDictionary);
Using System.Linq;
Dictionary<int, string> dict2 = dict1.ToDictionary(k => k.Key, k => k.Value.ToString());
Это создаст идентичную копию словаря по значению (не ref), поэтому вы можете работать на одном, не меняя другого.
Для этого нет встроенного метода. Вам нужно будет сделать это вручную.
Первый шаг - решить, насколько глубоко вы хотите, чтобы копия была сопряжена. Вы хотите, чтобы отдельный объект ввода слова содержал ссылки на общие ключи и значения, или вы хотите, чтобы все было скопировано. Если последнее, им нужно будет реализовать ICloneable для создания метода общего назначения.