C# 当我将UserControl添加到面板Microsoft VS C时,索引超出范围错误#

C# 当我将UserControl添加到面板Microsoft VS C时,索引超出范围错误#,c#,.net,arrays,linq,extension-methods,C#,.net,Arrays,Linq,Extension Methods,项目之间代码更改的行为 对于第一个项目,它运行良好 我有一个字符串数组s[]=…和s.Count()此函数存在 当我把一个控件添加到我的面板上时,它就正常了 在另一个项目上 1) s.C并单击(ctrl空格),它仅显示CopyTo和Clone方法 正如Tim、Ganesh和Patrick所说,通过使用System.Linq添加,这部分问题得以解决 2) 当我尝试将控件添加到具有 panel.Controls.Add(自定义控件) 它在messagebox中显示一个错误,并添加 控制和程序继续进行

项目之间代码更改的行为

对于第一个项目,它运行良好 我有一个字符串数组
s[]=…
s.Count()此函数存在
当我把一个控件添加到我的面板上时,它就正常了

在另一个项目上

1)
s.C
并单击(ctrl空格),它仅显示
CopyTo
Clone
方法

正如Tim、Ganesh和Patrick所说,通过使用System.Linq添加
,这部分问题得以解决

2) 当我尝试将控件添加到具有
panel.Controls.Add(自定义控件)
它在messagebox中显示一个错误,并添加
控制和程序继续进行,没有问题

索引超出范围。必须是非负的,并且 小于集合的大小
参数名称:索引

添加代码不在
try catch
我试着改变框架,但什么都没有改变 可能是什么问题,感谢阅读有关我的问题的文章,并感谢您的帮助。

Count()
是一种扩展方法,只有在引用它们所定义的命名空间时,这些方法才可用。这是因为扩展方法不是在您调用的类上定义的,而是在外部的某个地方定义的。(因此命名为“扩展”方法)

您需要在代码文件的顶部包含以下内容:

using System.Linq;

尽管最好调用
s.Length
,因为变量只是一个数组。

使用System.Linq添加
还要确保您的目标是.NET 3.5或更高版本OK非常感谢Tim和Ganesh的快速重播,我将使用system.linq,我正在使用.NET 3.5非常感谢Patrick的快速重播,感谢您的解释,我将尝试您所说的