Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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# 获取报价(&Q);索引超出了数组的边界。”;调用EnvDTE80.ErrorItems.item()时_C#_Visual Studio_Envdte - Fatal编程技术网

C# 获取报价(&Q);索引超出了数组的边界。”;调用EnvDTE80.ErrorItems.item()时

C# 获取报价(&Q);索引超出了数组的边界。”;调用EnvDTE80.ErrorItems.item()时,c#,visual-studio,envdte,C#,Visual Studio,Envdte,我试图获取Visual Studio 2015错误列表窗口中的所有错误,但在尝试通过错误访问ErrorItem时,我获取了一个索引越界异常。Item(I)调用。我错过了任何演员吗 EnvDTE80.DTE2 dte2 = ServiceProvider.GetService(typeof(EnvDTE.DTE)) as DTE2); ErrorItems errors = dte2.ToolWindows.ErrorList.ErrorItems; for (int i = 0; i <

我试图获取Visual Studio 2015错误列表窗口中的所有错误,但在尝试通过错误访问ErrorItem时,我获取了一个索引越界异常。Item(I)调用。我错过了任何演员吗

EnvDTE80.DTE2 dte2 =  ServiceProvider.GetService(typeof(EnvDTE.DTE)) as DTE2);
ErrorItems errors = dte2.ToolWindows.ErrorList.ErrorItems;
for (int i = 0; i < errors.Count; i++)
{
    ErrorItem item = errors.Item(i);
}
EnvDTE80.DTE2 DTE2=ServiceProvider.GetService(typeof(EnvDTE.DTE))作为DTE2);
ErrorItems errors=dte2.ToolWindows.ErrorList.ErrorItems;
for(int i=0;i
所有列表或数组的
.Count()
方法都从1开始,而IT世界中的索引总是从0开始。因此,在最后,您的计数将达到一个不在索引中的数字

所以,试着用比卢·基德的建议减去1

编辑

好吧,算了吧。我认为这是一个脑力障碍。但我认为删除这个答案是没有必要的,因为我可以看出,贝维勒的建议是错误的

科学

    static void Main(string[] args)
    {
        List<string> tmpList = new List<string>();
        for (int i = 0; i < 10; i++)
        {
            Debug.WriteLine("List Item No" + i);
            tmpList.Add("Item " + i);
        }
        Debug.WriteLine("_____________");
        Debug.WriteLine("List Count: " +tmpList.Count());
        Debug.WriteLine("_____________");
        for (int i = 0; i < tmpList.Count(); i++)
        {
                Debug.WriteLine(tmpList[i]);
        }
    }
static void Main(字符串[]args)
{
List tmpList=新列表();
对于(int i=0;i<10;i++)
{
Debug.WriteLine(“列表项编号”+i);
tmpList.添加(“项目”+i);
}
Debug.WriteLine(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu”);
Debug.WriteLine(“列表计数:+tmpList.Count());
Debug.WriteLine(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu”);
对于(int i=0;i
调试:

清单项目编号0

清单项目1

第二项

第三项

清单项目4

清单项目5

清单项目6

第七项

清单项目8

清单项目9


名单数目:10


项目0

项目1

项目2

项目3

项目4

项目5

项目6

项目7

项目8

项目9


ErrorItems.Item
方法似乎需要一个绝对索引,从1开始,因此将循环更改为:

for (int i = 1; i <= errors.Count; i++)

for(int i=1;我已经调试过了?如果你做了
i
?循环没有处理好吗?因为它是
i
?有15个错误,循环迭代到
i=14
@Sami…是的。很尴尬。很高兴我能帮上忙。