Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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# - Fatal编程技术网

C# 采集计数小于参数时获取(参数)

C# 采集计数小于参数时获取(参数),c#,C#,假设我有一个对象列表,列表对象 如果我这样写: TheListOfObjects = TheListOfObjects.Take(40).ToList(); 如果列表中只有30项,它会崩溃吗?还是只返回前30项?当ListFobjects为空,甚至为空时 谢谢。MSDN说: Take(Of TSource)枚举源并生成元素,直到生成count元素或源不再包含更多元素为止 这是其中之一,你应该尝试一下,或者至少检查一下 如果列表中只有30项,它会崩溃吗?还是只返回前30项 它将只返回前30个 当

假设我有一个对象列表,列表对象

如果我这样写:

TheListOfObjects = TheListOfObjects.Take(40).ToList();
如果列表中只有30项,它会崩溃吗?还是只返回前30项?当ListFobjects为空,甚至为空时

谢谢。

MSDN说:

Take(Of TSource)枚举源并生成元素,直到生成count元素或源不再包含更多元素为止


这是其中之一,你应该尝试一下,或者至少检查一下

如果列表中只有30项,它会崩溃吗?还是只返回前30项

它将只返回前30个

当ListFobjects为空时

它将返回空序列

甚至是空的

它将导致
ArgumentNullException

从MSDN:

Take
枚举源并生成元素,直到生成count元素或源不再包含更多元素

如果
count
小于或等于零,则不枚举
source
,并返回空的
IEnumerable

在例外情况下:

Exception             Condition
ArgumentNullException source is null
在您登录StackOverflow的过程中,您可以检查MSDN并获得一个权威的答案(请注意,一些轻微不正确或部分不完整的答案已经在此处发布并删除),或者启动Visual Studio并稍微润滑一下您的轮子。

来源:

Take
枚举源并生成元素,直到计数 已生成元素或源不包含更多元素

若计数小于或等于零,则不枚举源,并且 返回一个空的
IEnumerable

试试这个

TheListOfObjects = TheListOfObjects.Take(TheListOfObjects.Count > 30 ? 30 : TheListOfObjects.Count).ToList();

这应该是一件非常容易测试的事情<代码>变量foo=(新[]{1,2})LinqPad在这些情况下是您的朋友…+1因为发布了有趣的第二句话——我现在急忙创建一个集合类型,它具有返回负值的
Count
属性!你是这么说的,但文档有时会遗漏这些信息,所以当我可以在StackOverflow上搜索文档并找到答案时,尝试文档就像浪费时间。这个答案对我很有帮助,我认为这个问题很有用。