Я переработан мой цикл Еогеасп от этого раньше:LINQ Рефакторинг
foreach (KeyValuePair[string, string] param in paramsList)
{
XmlElement mainNode = xmlDoc.CreateElement("parameter");
mainNode.SetAttribute("name", param.Key);
mainNode.SetAttribute("value", param.Value);
rootNode.AppendChild(mainNode);
}
к этому, с помощью LINQ:
XmlElement mainNode = xmlDoc.CreateElement("parameter");
var selected = paramsList.AsEnumerable().Select(param => param).ToList();
selected.ForEach(x => (mainNode.SetAttribute("name", x.Key)));
selected.ForEach(x => (mainNode.SetAttribute("value", x.Value)));
rootNode.AppendChild(mainNode);
Однако, я знаю, что ниже раздел все еще может быть переработана в единый контур, но Я не знаю, как это сделать. пожалуйста, просветите меня.
selected.ForEach(x => (mainNode.SetAttribute("name", x.Key)));
selected.ForEach(x => (mainNode.SetAttribute("value", x.Value)));
Не имеется: Выбрать (param => param) redundant? –
Кроме того, ваш исходный код будет содержать столько элементов «параметра», что в элементе paramsList есть элементы, в то время как реорганизованный код всегда будет генерировать ровно один элемент «parameter» с атрибутами «name» и «value», заданными длиной (paramsList) раз на нем. Я не думаю, что вы его правильно отредактировали. –
Да, вы абсолютно правы. в любом случае, я просто прокомментировал код bruno conde и теперь id скорее не заменяет мой существующий цикл foreach. – grayman