如何创建一个空的IOrderedEnumerable <dynamicnode>和IEnumerable <igrouping <string,dynamicnode =“”>&gt; </iggrouping <string,> </dynamicnode>

时间:2013-04-16 09:08:28

标签: c# razor umbraco

我需要一种方法来创建一个空的IOrderedEnumerable和 IEnumerable的&GT;

//以上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如果我还不够清楚,请告诉我如何帮助你,帮助我:)。

谢谢!

1 个答案:

答案 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>>();