是否有null版本但列表?

Kie*_*ran 0 c# null generic-list mspec

我有一个单元测试我想写.

我将此部分作为工作版本的一部分:

List<MyClass> queryResult = new List<MyClass>(){};

A.CallTo(() => _dataContext.GetAll<MyClass>()).Returns(queryResult.AsQueryable());
Run Code Online (Sandbox Code Playgroud)

但是,我宁愿使用"null"而不是"queryResult.AsQueryable()"之类的东西,那么就没有必要创建一个空列表.

但GetAll将根据事物的外观返回一个空或满的列表.因此,null将不起作用.

是否有类似"List.Empty"的东西我可以使用?

谢谢

Mar*_*ell 8

Array.Empty<T>(),Enumerable.Empty<T>()这可能对你有用.它们都没有为每个调用分配一个新对象(它们都由T[]泛型类上的静态字段支持- EmptyArray<T>.Value或者EmptyEnumerable<T>.Instance,尽管这些都是实现细节)