C# 3.0 c#,使用lambdas和集合初始化
是否可以在对象初始化表达式中使用lambda表达式?请看下面的代码:C# 3.0 c#,使用lambdas和集合初始化,c#-3.0,lambda,C# 3.0,Lambda,是否可以在对象初始化表达式中使用lambda表达式?请看下面的代码: XDocument doc = new XDocument( new XDeclaration("1.0", "utf-8", "yes"), new XElement("data", new XElement("album", new XElement("slide1"), new XElement("slide2
XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("data",
new XElement("album",
new XElement("slide1"),
new XElement("slide2"),
new XElement("slide3")
)
)
);
而不是
new XElement("slide1"),
new XElement("slide2"),
new XElement("slide3")
…我想使用一个lamda表达式,该表达式返回XElement[]Func elementCreatorFunc=
Func<XElement[]> elementCreatorFunc =
() => new[] { new XElement(...), new XElement(...) };
XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("data",
new XElement("album",
elementCreatorFunc()
)
)
);
()=>new[]{new-XElement(…),new-XElement(…)};
XDocument doc=新XDocument(
新的XDE声明(“1.0”、“utf-8”、“是”),
新XElement(“数据”,
新专辑,
elementCreatorFunc()
)
)
);
函数元素CreatorFunc=
()=>new[]{new-XElement(…),new-XElement(…)};
XDocument doc=新XDocument(
新的XDE声明(“1.0”、“utf-8”、“是”),
新XElement(“数据”,
新专辑,
elementCreatorFunc()
)
)
);
以下是最终解决方案。因此,我没有使用外部函数,而是使用内联方式:
XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
new XElement("data",
new XElement("album",
(from item in Model.Items
select new XElement("slide",
new XAttribute("title", item.title)))
)
)
);
以下是最终解决方案。因此,我没有使用外部函数,而是使用内联方式:
XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
new XElement("data",
new XElement("album",
(from item in Model.Items
select new XElement("slide",
new XAttribute("title", item.title)))
)
)
);
非常感谢你。你的回答正是我问题的正确答案。然而,我想有一些稍微不同的东西,你的回答引导我进入正确的方向。请参阅下面的解决方案。再次非常感谢,非常感谢。你的回答正是我问题的正确答案。然而,我想有一些稍微不同的东西,你的回答引导我进入正确的方向。请参阅下面的解决方案。再次非常感谢。