【发布时间】:2020-01-31 21:52:36
【问题描述】:
如果可能的话,我想对列表列表进行扩展。我已经尝试过这个主题的变体,但都没有奏效:
public static List<List<myClass>> ToListsOfmyClass(this IEnumerable<IEnumerable<OtherClass>> listsOfOtherClass)
{
return listsOfOtherClass.SelectMany(many => many.Select(p => new myClass(p)).ToList()).ToList();
}
我收到以下编译错误:
错误 CS0029 无法将类型“System.Collections.Generic.List”隐式转换为“System.Collections.Generic.List>”SSX.Revit.Access D:\SourceCode\WorkSpaces\AllProjects\SSX.Revit\r2020 (v .20)\Startup (plugin)\v1.0\SSX.Revit.Access\Support\AIMPoint.cs 67 活动
【问题讨论】:
-
如果可能的话,如何让它发挥作用。
-
可能你的返回类型不匹配。使用 SelectMany 破坏内部列表,您只返回一个 List
我会假设。如果您想要列表列表,请将 SelectMany 更改为 Select。 -
@Holger 我害怕那个。使这种扩展工作的任何其他选择?如果需要,我可以改写问题。
-
@Fabjan like... return listsOfXYZs.Select(many => many.Select(p => new AIMPoint(p)).ToList()).ToList();
-
我们不知道“作品”是什么。要么更改返回类型,要么更改查询。他们不适合。
标签: c# arraylist extension-methods