0
GUIから次のコードを使用してxmlファイルを更新しようとしています。linqをxmlに使用して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;
を使用しています 辞書に存在するかどうかをチェックしたいときに。
しかし、if文の各UDPATE
Settings["CustomerA"].Node.Attribute.value=settings.containskey("CustomerA") ?txtCustomerA.Text:null;
のために避けるために、順序どおり私は20個のエントリは、私がこのようにしようとしています更新すると言っているが、上記のコードが例外をスローキーが辞書に存在しないのですか? ??
私は20件のif文を避けるために回避策を探していました。何人かが私を導くことができれば嬉しいです。あなたはそれを介してマッピング辞書やループを構築することができます
私はあなたの質問の複製にすべてのケースの不規則性があると仮定していますか? – Aren
@Aren:はい、タイプミスがあります – Macnique