2
私は本当に今朝どこかにいる必要があります。だから、代わりにパフォーマンスの質問を投稿することに決めました。このlinq-to-xmlメソッドのパフォーマンスを改善できますか?
以下のコードは機能しますが、LoadメソッドとSaveメソッドを複数回呼び出します。これは効率的ではないようです。これまでのところ、誰かがコードを提供して、ループの外側でロードとセーブの行が発生する可能性があります。私はロードを呼び出して一度だけ保存したいと思います。
ありがとうチャップス:)
public void RemoveNodes(IList<String> removeItems)
{
foreach (String removeItem in removeItems)
{
XDocument document = XDocument.Load(fullFilePath);
var results = from item in document.Descendants(elementName)
let attr = item.Attribute(attributeName)
where attr != null && attr.Value == removeItem.ToString()
select item;
results.ToList().ForEach(item => item.Remove());
document.Save(fullFilePath);
}
}
:
あなたも、クエリ式を使用する必要はありません。私は木の木が見えないと思う。私は問題を再訪したときに自分の処方薬を飲んでいただろう。パフォーマンスの向上だけでなく、おそらく私が気付いていなかった簡素化のために掲示する価値がありました - ありがとうジョン – CarneyCode