我需要一种方法来创建一个空的IOrderedEnumerable和 IEnumerable的>
//以上IGrouping DynamicNode被stackoverflow剥离:(
原因:我创建了3个空列表类型(IOrdered,IGrouping,IEnumerable)然后基于一些其他信息(用户指定的选项,例如按创建日期或按月分组的顺序)然后我调用一个函数来分配一个列表所述类型。
(简短片段)
//DOESNT WORK THIS IS THE PART I NEED
IEnumerable<DynamicNode> baseList = Enumerable.Empty<DynamicNode>();
IOrderedEnumerable<DynamicNode> orderedList = (IOrderedEnumerable<DynamicNode>)Enumerable.Empty<DynamicNode>();
IEnumerable<IGrouping<string, DynamicNode>> groupedList = (IEnumerable<IGrouping<string, DynamicNode>>)Enumerable.Empty<DynamicNode>();
//ABOVE DOESNT WORK THIS IS THE PART I NEED
if (order)
{
if (group)
{
groupedList = returnGroupedOrderedList(nodeList, ascending, useFeatured, groupBy, orderBy);
}
else
{
orderedList = returnOrderedList(nodeList, ascending, useFeatured, orderBy);
}
}
任何人都知道怎么做?
ps如果我还不够清楚,请告诉我如何帮助你,帮助我:)。
谢谢!
答案 0 :(得分:12)
第一个应该按原样运作:
IEnumerable<DynamicNode> baseList = Enumerable.Empty<DynamicNode>();
第二个应该用一个小技巧:
IOrderedEnumerable<DynamicNode> orderedList =
Enumerable.Empty<DynamicNode>().OrderBy(x => 1);
第三个应该稍微改变一下:
IEnumerable<IGrouping<string, DynamicNode>> groupedList =
Enumerable.Empty<IGrouping<string, DynamicNode>>();