gpt4 book ai didi

linq - linq中foreach的 yield 返回

转载 作者:行者123 更新时间:2023-12-05 00:33:34 26 4
gpt4 key购买 nike

问题:谁能告诉我如何在 linq 中返回值。我想返回 RadToolBarButton 的集合并在创建时为它们分配值。

代码:我尝试了两种方式:

IEnumerable<RadToolBarButton> collection = ContextMenuColumn.ToList()
.ForEach(x => yield return new RadToolBarButton() { Value = x });

错误 11 无法将类型“void”隐式转换为“System.Collections.Generic.IEnumerable”

IEnumerable<RadToolBarButton> collection =
ContextMenuColumn.SelectMany<string,IEnumerable<RadToolBarButton>>(
x => new RadToolBarButton() { Value = x });

错误 11 无法将类型“Telerik.Web.UI.RadToolBarButton”隐式转换为“System.Collections.Generic.IEnumerable>”。存在显式转换(是否缺少强制转换?)

最佳答案

你应该使用 Select而不是 ForEach ,它可以满足您的需求。

IEnumerable<RadToolBarButton> collection = ContextMenuColumn.ToList()
.Select(x => new RadToolBarButton { Value = x });

我不确定内部 ToList是必要的,你也许可以逃脱 Cast<T>而不是具体化中间列表。

关于linq - linq中foreach的 yield 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11815841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com