Обнулить несколько объектов - 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;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы