Я довольно новичок в C# и получил небольшой проект для расширения. Код - это беспорядок, и я пытаюсь его каким-то образом улучшить, но, похоже, достигает некоторых пределов языка.Элементы пользовательского интерфейса C# в массиве
В основном я читаю значения датчиков от четырех датчиков и показываю некоторые из них на этикетках. Поскольку цикл всегда один и тот же, я хотел итерации вместо того, чтобы переписывать один и тот же код четыре раза с помощью только разных элементов GUI для хранения значений. Мои исследования показали мне, что я могу поместить свои метки в массив вручную, но редактор Visual Studio перезапишет это каждый раз, когда я что-то меняю в графическом интерфейсе. Поэтому мой подход заключался в создании массива ссылок на такие элементы, как
ref GroupBox[] gbChannel;
, но это невозможно в C#. Если я попытаюсь назначить его напрямую
gbChannel[0] = gbChannel0;
C# сообщает мне, что перед этим я должен проверить, является ли объект нулевым. Anyways,
if(gbChannel1!=null) gbChannel[0] = gbChannel0;
приводит к такому же результату.
Есть ли какой-либо удобный способ достичь того, что я хочу сделать?
'if (gbChannel1! = Null) gbChannel [0] = gbChannel0;' - это 'gbChannel1' просто опечатка или ваш фактический код выглядит также? –
Не обижайтесь, но я думаю, вы достигли пределов своего знания C# *, а не * пределов языка *. Если вы публикуете больше кода и подробно рассказываете о проблемах, которые у вас есть, я уверен, что мы сможем помочь –
Я предполагаю, что вы используете WinForms и помещаете код в созданный конструктором метод InitializeComponent. Тот, у кого есть комментарий, говорящий «не изменяйте содержимое этого метода с помощью редактора кода». – kjbartel