是否有 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>.Value
或 EmptyEnumerable<T>.Instance
上的静态 T[]
字段支持,尽管它们都是实现详情)
您可以使用
Enumerable.Empty<MyClass>().ToList()
但我看不出有什么不同。
我正在尝试编写一个单元测试。
我将此部分作为工作版本的一部分:
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>.Value
或 EmptyEnumerable<T>.Instance
上的静态 T[]
字段支持,尽管它们都是实现详情)
您可以使用
Enumerable.Empty<MyClass>().ToList()
但我看不出有什么不同。