![](/img/trans.png)
[英]Prepare Dynamic Lambda Expression with Checking parentproperty null control
[英]Control manipulation with lambda expression
我试图更好地理解lambda表达式并将其用于重构一些代码。 我有一些在后端页面加载时运行的代码,以查找设置了IE模式的meta标签并将其更改为边缘模式,从而仅针对一个特定页面覆盖SharePoint母版页。 这是我现在完成此工作的代码:
foreach (HtmlMeta tag in Page.Header.Controls.OfType<HtmlMeta>())
{
if (tag.Content.Contains("IE=", StringComparison.OrdinalIgnoreCase))
{
tag.Content = "IE=Edge";
}
}
我想通过使用lambda表达式来使其更加简洁,但是我在弄清楚如何准确选择相关标签方面遇到了麻烦。 这是我到目前为止的内容:
var t = Page.Header.Controls.Cast<Control>().Where(n => n is HtmlMeta);
如何使用lambda表达式更简洁地完成第一段代码的功能?
生成查询以获取要更新的控件列表可以转换为LINQ,如下所示:
var t = Page.Header.Controls
.OfType<HtmlMeta>()
.Where(h => h.Content.Contains("IE=", StringComparison.OrdinalIgnoreCase));
由于LINQ的目的是查询,因此仍然需要使用循环构造来完成数据修改:
foreach (var tag in t)
{
tag.Content = "IE=Edge";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.