Обнулить несколько объектов - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д