实例化IEnumerable <ienumerable <t>&gt;使用C#</ienumerable <t>中的数组

时间:2011-07-09 12:04:40

标签: c# arrays c#-4.0

我可能会错过c#中的数组构造语法。如果我有以下功能(感谢c#4中的类型方差功能):

IEnumerable<IEnumerable<T>> test<T>()
{
        return new List<List<T>>();
}

如何编写实例化数组数组的类似文件?

1 个答案:

答案 0 :(得分:3)

IEnumerable<IEnumerable<T>> test<T>()
{
        return new [] { new T[] {} };
}

<子> 我注意到单声道编译器中曾经存在一个错误(至少,2.6.7 gmcs会崩溃...),需要你拼写new IEnumerable<T>[] { new T[] {}};这不再是例如问题。单声道2.11

替代地

你可以使用yield块(效率较低)

IEnumerable<IEnumerable<T>> test<T>()
{
        yield return new T[] {};
}

Enumerable.Empty<>

您知道Enumerable.Empty<>吗?

IEnumerable<IEnumerable<T>> test<T>()
{
        return Enumerable.Empty<IEnumerable<T>>();
}