Возможный дубликат:
С# foreach vs functional each
Это вопрос о кодировании для удобочитаемости.
У меня есть XDocument
и List<string>
имена элементов, которые содержат конфиденциальную информацию, которую мне нужно замаскировать (замените символом подчеркивания в этом примере).
XDocument xDoc;
List<string> propertiesToMask;
Это можно записать двумя способами, используя традиционные циклы foreach
или используя методы .ForEach
с синтаксисом lamba.
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))));
Какой подход, по вашему мнению, является наиболее читаемым и почему? Если вы предпочитаете второй пример, как бы вы представили его для максимальной читаемости?