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上搜索文档并找到答案时,尝试文档就像浪费时间。这个答案对我很有帮助,我认为这个问题很有用。