Прежде чем сообщить мне, что я задал часто задаваемый вопрос, выслушайте меня.Как удалить или повторно инициализировать новую переменную?
Я пишу программу для чтения из регистратора данных с использованием форм C# и окон. Каждый из каналов может означать разные вещи, такие как подъем, перетаскивание и давление. Я планирую настроить эти каналы. Вот как инициализируется такой канал:
private Channel Lift_Channel = new Channel(1);
Это инициализирует Lift_Channel как объект канала, который ссылается на канал 1 на регистраторе.
Однако метод конструктора Channel (int) является единственным методом, который я могу использовать для установки канала. Если я хочу, чтобы Lift_Channel указывал на канал 2, я хотел бы сделать что-то вроде этого.
delete Lift_Channel;
Lift_Channel = new Channel(2);
Я чувствую, что если я не могу удалить Lift_Channel затем воссоздать его, я буду иметь ошибки утечки памяти, потому что канал (1) данные будут плавающие вокруг.
Любые идеи?
Если вы приехали с C++, я понимаю, почему вы задали этот вопрос. В C# управление памятью (за некоторыми исключениями) заботится о вас. –
Что именно происходит при вызове 'new Channel (1)'? Какой-то другой ресурс получает где-то? Если ресурс является неуправляемой памятью, тогда стандартная задача - реализовать реализатор канала IDisposable и деструктор. –
@mikez C# не имеет деструкторов. У него есть финализаторы. –