重複の可能性:
C# の foreach と機能的な each
これは読みやすさのためのコーディングに関する質問です。
マスクする必要がある機密情報を含む要素の名前XDocument
とList<string>
名前があります (この例ではアンダースコアに置き換えます)。
XDocument xDoc;
List<string> propertiesToMask;
これは、従来のforeach
ループを使用.ForEach
する方法と、lamba 構文のメソッドを使用する方法の 2 つの方法で記述できます。
foreach (string propertyToMask in propertiesToMask)
{
foreach (XElement element in xDoc.Descendants(propertyToMask))
{
element.SetValue(new string('_', element.Value.Length));
}
}
また
propertiesToMask
.ForEach(propertyToMask => xDoc.Descendants(propertyToMask).ToList()
.ForEach(element => element.SetValue(new string('_', element.Value.Length))));
どのアプローチが最も読みやすいと思いますか?その理由は? 2 番目の例を好む場合、読みやすくするためにどのように表示しますか?