Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有一个版本的空,但列表?_C#_Null_Generic List_Mspec - Fatal编程技术网

C# 是否有一个版本的空,但列表?

C# 是否有一个版本的空,但列表?,c#,null,generic-list,mspec,C#,Null,Generic List,Mspec,我正在尝试编写一个单元测试 我将此部分作为工作版本的一部分: List<MyClass> queryResult = new List<MyClass>(){}; A.CallTo(() => _dataContext.GetAll<MyClass>()).Returns(queryResult.AsQueryable()); List queryResult=newlist(){}; A.CallTo(()=>_dataContext.GetAll

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

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

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

A.CallTo(() => _dataContext.GetAll<MyClass>()).Returns(queryResult.AsQueryable());
List queryResult=newlist(){};
A.CallTo(()=>_dataContext.GetAll()).Returns(queryResult.AsQueryable());
但是,我宁愿使用“null”之类的内容,而不是“queryResult.AsQueryable()”,这样就不需要创建空列表

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

有没有像“List.Empty”这样的东西我可以用


谢谢有
Array.Empty()
Enumerable.Empty()
可能适合您。它们都没有为每次调用分配新对象(它们都由泛型类上的静态
T[]
字段支持-
EmptyArray.Value
EmptyEnumerable.Instance
,尽管这两个都是实现细节)

您可以使用

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

但是我看不出在这种情况下有什么不同。

List.Empty与空列表有什么不同?我只想说它应该返回一个空列表,而不必创建对象。可能并没有办法,我只是想知道是否有。你们不能检查一下空列表也是一个对象吗?所以你们将被迫以任何方式创建一个对象
new List
是一个wayor
Enumerable.Empty()
这正是我要找的东西,谢谢。它们需要特定的导入才能运行吗?@KieranMelia
Array.Empty
仅在.net 4.6中可用,但不需要任何特定的导入(几乎可以肯定您已经使用系统了
),谢谢。我尝试了数组。为空,但它表示数组不包含Empty@KieranMelia那你做错了什么。试试这个:
var a=System.Array.Empty()newlist()
相比,code>相当冗长。