不能将带有 [] 的索引应用于类型为“System.EventArgs”的表达式

本文关键字:System EventArgs 表达式 类型 索引 不能 应用于 | 更新日期: 2023-09-27 18:00:37

在我提出问题之前,我阅读了与我类似的问题,但我找不到答案。

string[][] e = Enumerable.Range(0, 54116(.选择(i => 新字符串[2](。ToArray((;

我在以下脚本中收到Cannot apply indexing with [] to an expression of type 'System.EventArgs'错误:

for (int k = 0; k <= 54116; k++)
                {
                  int ValueArrayE;
                  ValueArrayE = 0;
                  ValueArrayE = Convert.ToInt32(e[k][0]);  ------->Error
                  int checkuserid = Convert.ToInt32(ValueArrayE);
                  if (checkuserid == InsertedUserId)
                  {
                    titles.Add(e[k][1]);  ------------------------>Error 
                  }
                }

提前致谢

不能将带有 [] 的索引应用于类型为“System.EventArgs”的表达式

我认为您的方法中有一个名为 'e'EventArgs 类型的参数。喜欢这个:

private void SomeMethod(object s, EventArgs e) // <---

更改数组或参数的名称,然后重试。

如果使用 Visual Studio 自动生成事件处理程序方法,则可能会发生这种情况,该方法将e第二个参数名称。这是我能想到的唯一合乎逻辑的解释,但我很惊讶为什么你在这些行之前没有收到任何错误。当你声明数组时,编译器应该给你这个错误:

局部变量 'e' 不能在此作用域中声明,因为它会给 'e' 赋予不同的含义,后者已在父作用域或当前作用域中用于表示其他内容。