Я относительно новичок в программировании на C# (программирование в целом, на самом деле), но я создал приложение для управления пулами приложений на сервере, который использует моя команда на работе. Он делает все, что должно быть достаточно хорошо, но единственная проблема, с которой я столкнулся, заключается в сохранении ранее использованных конфигураций в файле app.config, чтобы пользователю не приходилось вручную вводить их вручную. Как бы то ни было, я могу сохранить и загрузить из файла великолепно (вместе со всеми строками, которые мне нужны в каждой группе).Как проверить, существует ли значение в списке?
Проблема в том, что я хочу выполнить поверхностную проверку, чтобы увидеть, существует ли строка имени в группе перед ее записью. Пример части app.config:
<appSettings>
<add Name="RowName" MachineName="MS-02348" AppSrvName="AppServer" WebSrvName="AppNet"/>
<add Name="RowName2" MachineName="MS-68186" AppSrvName="AppServer2" WebSrvName="AppNet2"/>
</appSettings>
Так что я сейчас делаю, чтобы загрузить значения, у меня есть метод, который получает AppSettings/добавить узлы и бросает их в список, а затем устанавливает значениям свойств объекта. Причина, по которой я делаю это, заключается в том, что у меня может быть раскрывающийся список, в котором указано только имя объекта, а затем вся остальная информация доступна, когда я вызываю метод на выбранном элементе.
Как бы то ни было, я хочу убедиться, что если имя уже существует в app.config, я предлагаю пользователю записать другое имя вместо сохранения его в базу данных. Наличие двух дочерних узлов с тем же значением «Имя» может привести к хаосу моей логики.
Я пробовал использовать foreach для перемещения по объектам в списке, но, не зная, сколько объектов там может быть, я не знал простого способа сказать, что он существует или не существует. Я также попытался настроить таргетинг на childnode на основе значений, перечисленных в узле, но, похоже, тоже не работает. Я предполагаю, что эта часть является синтаксисом, но, похоже, она соответствует тому, как ее определяет список методов.
Любые мысли?
Здравствуйте, добро пожаловать на сайт! Пара вещей: в вашем примере кода отсутствует заключительная цитата по одному из атрибутов «MachineName»; и вы должны, вероятно, включить свой фактический код C#, который обрабатывает список, и подробно расскажите о конкретных проблемах, которые у вас есть. – admdrew
', но не зная, сколько объектов там может быть, я не знал ...' - Что вы подразумеваете под этим? Почему это важно? – ispiro
Спасибо за редактирование. Я не копировал и не вставлял, поэтому, должно быть, пропустил эту цитату! Я не добавлял никакого кода, потому что ничто из этого не делает то, что мне нужно ... это не так много, что он не будет компилироваться или исключений, но я не могу придумать логический способ заставить его работать. То, что я делал, является foreach, а затем сравнивает каждый результат, чтобы узнать, является ли MachineName! = Null (MachineName является произвольным ... просто убедившись, что ничего не возвращается). Проблема в том, что он вернется с ошибкой 3 раза и один раз. В моей ситуации я хочу убедиться, что все * вернулось назад. – hotleadsingerguy