Я пытаюсь обновить XML-файл, используя следующий код из моего графического интерфейса.
var Settings = (from e in config.Descendants("Settings")
from kvpair in e.Elements("add")
select new
{
Name = kvpair.Attribute("key").Value,
Node = kvpair
}).ToDictionary(x => x.Name, y => y);
Settings["CustomerA"].Node.Attribute.value=txtCustomerA.Text;
Приведенный выше код работает нормально:
Когда я хотел проверить, присутствует ли ключ в словаре или нет
я использую
if(settings.containskey("CustomerA"))
Settings["CustomerA"].Node.Attribute.value=txtCustomerA.Text;
Это тоже отлично работает.
Но я сказал, что 20 записей должны быть обновлены, я пытаюсь таким образом, чтобы избежать, если оператор для каждого обновления
Settings["CustomerA"].Node.Attribute.value=settings.containskey("CustomerA") ?txtCustomerA.Text:null;
но приведенный выше код выдает исключение, ключ не существует в словаре ???
Мне просто было любопытно обойтись, чтобы избежать 20 заявлений. Буду рад, если кто-нибудь мне поможет.