如何创建一个空的IOrderedEnumerable <DynamicNode>和IEnumerable <IGrouping <string,DynamicNode >>

use*_*321 11 c# umbraco razor

我需要一种方法来创建一个空的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);
    }
}
Run Code Online (Sandbox Code Playgroud)

谁知道怎么做?

ps如果我还不够清楚请告诉我如何帮助你,帮助我:)

谢谢!

Dan*_*rth 14

第一个应该按原样工作:

IEnumerable<DynamicNode> baseList = Enumerable.Empty<DynamicNode>();
Run Code Online (Sandbox Code Playgroud)

第二个应该用一个小技巧:

IOrderedEnumerable<DynamicNode> orderedList =
    Enumerable.Empty<DynamicNode>().OrderBy(x => 1);
Run Code Online (Sandbox Code Playgroud)

第三个应该稍微改变一下:

IEnumerable<IGrouping<string, DynamicNode>> groupedList = 
    Enumerable.Empty<IGrouping<string, DynamicNode>>();
Run Code Online (Sandbox Code Playgroud)