只是想知道哪种方法更快,更好的使用或做你喜欢LINQ的任何()VS的foreach
bool userHavePermission = user.Permissions.Any(x => x.UpperName == "ADMINISTRATOR");
或
foreach (Permission p in _Permissions)
{
if (p.UpperName == name.ToUpper())
return true;
}
return false;
感谢
有效,它是相同的代码;任何''遍历'IEnumerable'应用谓词,在第一次匹配时返回true(并停止迭代)。也就是说,我会选择'Any',因为它非常清楚代码要做什么。 – JerKimball 2013-02-15 22:09:35
您是否尝试过比较得到的IL代码?或者,如果不同,最终的jitter代码? – 2013-02-15 22:09:39
这个问题完全是主观的,而不是建设性的,这使得它不适用于SO。 – Servy 2013-02-15 22:12:48