linq中的收益率
问题: 有人能告诉我如何在linq中返回值吗。 我想返回一组RadToolbar按钮,并在创建时为它们赋值 代码: 我试过两种方法:linq中的收益率,linq,foreach,return,yield,Linq,Foreach,Return,Yield,问题: 有人能告诉我如何在linq中返回值吗。 我想返回一组RadToolbar按钮,并在创建时为它们赋值 代码: 我试过两种方法: IEnumerable<RadToolBarButton> collection = ContextMenuColumn.ToList() .ForEach(x => yield return new RadToolBarButton() { Value = x }); IEnumerable collection=ContextM
IEnumerable<RadToolBarButton> collection = ContextMenuColumn.ToList()
.ForEach(x => yield return new RadToolBarButton() { Value = x });
IEnumerable collection=ContextMenuColumn.ToList()
.ForEach(x=>yield返回新的radtoolbutton(){Value=x});
错误11无法将类型“void”隐式转换为“System.Collections.Generic.IEnumerable”
IEnumerable<RadToolBarButton> collection =
ContextMenuColumn.SelectMany<string,IEnumerable<RadToolBarButton>>(
x => new RadToolBarButton() { Value = x });
IEnumerable集合=
ContextMenuColumn.SelectMany(
x=>new RadToolBarButton(){Value=x});
错误11无法将类型“Telerik.Web.UI.RadToolBarButton”隐式转换为“System.Collections.Generic.IEnumerable>”。存在显式转换(您是否缺少转换?使用
Select
而不是ForEach
,它将为您执行收益率调整
您应该使用Select
而不是ForEach
,它可以完成您需要的操作
IEnumerable<RadToolBarButton> collection = ContextMenuColumn.ToList()
.Select(x => new RadToolBarButton { Value = x });
IEnumerable collection=ContextMenuColumn.ToList()
.Select(x=>newradtoolbarbutton{Value=x});
我不确定是否需要内部的ToList
,您可以通过Cast
而不是具体化中间列表