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



我需要一种方法来创建一个空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如果我没有说清楚,请让我知道我怎么能帮助你,帮助我:)

谢谢!

第一个应该是这样的:

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

最新更新