C#: Как поменять тип переменной? Или удалить ее, а затем создать заново
Имеется объект data:
Dictionary<string, object> data = new Dictionary<string, object>();
Я поработал с этим словарем, после чего мне нужно создать новый словарь с таким же именем (для удобства работы), но другими параметрами значения и ключа:
Dictionary<string, string> data = new Dictionary<string, string>();
Разумеется, я не смогу это скомпилировать, потому что у меня уже есть объект data. Как я могу перезаписать тип объекта? Может можно как-то удалить data, чтобы затем создать заново?
Нужно чтобы как в языках с динамической типизацией:
data = [1, 2, 3]
data = 'Hello, World!'
Ответы (1 шт):
Автор решения: Sergey Skvortsov
→ Ссылка
Вы можете использовать тип dynamic:
dynamic data = new Dictionary<string, int>();
data["key"] = 3;
Console.WriteLine(data["key"]);
data = new Dictionary<string, string>();
data["key"] = "value";
Console.WriteLine(data["key"]);
Warning: при программирование на C# не принято использовать такие конструкции, т.к. их применение делает код менее читаемым