Обнулить несколько объектов - C#
Формулировка задачи:
Добрый день.
Вопрос, вероятно, очень простой, но я никак не могу найти ответ.
Есть ссылочные типы, например объекты или массивы.
Я сделал класс, хочу нескольким объектам этого класса присвоить значение null.
Объединяю в массив, прогоняю цикл... Массив-то меняется, а вот исходные объекты нет.
Но ведь тип-то ссылочный, как так?
Простой пример (как я понимаю, объекты типа Bitmap - это тоже ссылочный тип):
Вот как тут сделать обнуление переменной
Листинг программы
- var a = new Bitmap(100,100);
- var b = new Bitmap(200, 200);
- var с = new[] {a, b};
- с[0] = null;
- if (a == null) MessageBox.Show(@"Обнулили!");
a
, чтобы не писать рукамиa = null;
?Решение задачи: «Обнулить несколько объектов»
textual
Листинг программы
- private Dictionary<string, AreaItem> areaItemList = new List<string, AreaItem>();
- private void initList()
- {
- areaItemList.Add("Rabb", new AreaItem(new Area(...), new Area(...), chb_skip1));
- //далее по аналогии
- }
- private void UseList()
- {
- //теперь вместо _opTeamRabb, просто обращаемся к списку по ключу
- if(areaItemList["Rabb"].Area != null)
- МетодИлиЧтоТам(areaItemList["Rabb"].Area);
- }
- public class AreaItem
- {
- public static bool Ratio { get; set; }
- private Area _areaRatio;
- private Area _areaNoRatio;
- private CheckBox _checkBox;
- public Area Area
- {
- get
- {
- if (_checkBox.Checked)
- {
- if (Ratio)
- return _areaRatio
- else
- return _areaNoRatio;
- }
- return null;
- }
- }
- public AreaItem(Area areaRatio, Area areaNoRatio, CheckBox checBox)
- {
- _areaRatio = areaRatio;
- _areaNoRatio = areaNoRatio;
- _checkBox = checBox;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д