是否有 null 版本但用于列表?

Is there a version of null but for list?

我正在尝试编写一个单元测试。

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

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

A.CallTo(() => _dataContext.GetAll<MyClass>()).Returns(queryResult.AsQueryable());

不过,我宁愿放"null"之类的东西而不是"queryResult.AsQueryable()",这样就不需要创建一个空列表了。

但是 GetAll 会 return 列表是空的还是满的。因此,null 将不起作用。

有没有类似 "List.Empty" 的东西可以代替?

谢谢

Array.Empty<T>()Enumerable.Empty<T>() 可能适合您。它们都不会在每次调用时分配一个新对象(它们都由通用 class - EmptyArray<T>.ValueEmptyEnumerable<T>.Instance 上的静态 T[] 字段支持,尽管它们都是实现详情)

您可以使用

Enumerable.Empty<MyClass>().ToList()

但我看不出有什么不同。