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