可能的重复:
C# foreach 与函数式each https://stackoverflow.com/questions/2024305/c-sharp-foreach-vs-functional-each
这是一个关于可读性编码的问题。
我有一个XDocument
and a List<string>
包含我需要屏蔽的敏感信息的元素的名称(在本例中用下划线替换)。
XDocument xDoc;
List<string> propertiesToMask;
这可以用两种方式编写,使用传统的foreach
循环,或使用.ForEach
使用 lambda 语法的方法。
foreach (string propertyToMask in propertiesToMask)
{
foreach (XElement element in xDoc.Descendants(propertyToMask))
{
element.SetValue(new string('_', element.Value.Length));
}
}
or
propertiesToMask
.ForEach(propertyToMask => xDoc.Descendants(propertyToMask).ToList()
.ForEach(element => element.SetValue(new string('_', element.Value.Length))));
您认为哪种方法最具可读性,为什么?如果您更喜欢第二个示例,您将如何呈现它以获得最大的可读性?
foreach (string propertyToMask in propertiesToMask)
{
foreach (XElement element in xDoc.Descendants(propertyToMask))
{
element.SetValue(new string('_', element.Value.Length));
}
}
因为间距使得扫描变得非常简单。第二本太混乱了,我必须真正阅读它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)