我收到以下错误:
错误1名称' myList'在当前上下文中不存在
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
List<string> myList = new List<string>();
myList.Add("Dave");
myList.Add("Sam");
myList.Add("Gareth");
}
private void button1_Click(object sender, EventArgs e)
{
foreach (string item in myList)
{
listView1.Items.Add(item);
}
}
}
}
这是一个非常简单的例子,现实世界的应用程序会让我们的课程更多,但我不明白为什么button1_click事件处理者无法看到数组列表。
答案 0 :(得分:2)
根据您上面的评论,错误是:&#34;名称&#39; myList&#39;在当前的背景下不存在&#34;,对吧?问题是myList
在form1()
方法中声明,并且您尝试从另一个方法(button1_click()
方法)访问它。您必须将方法外部的列表声明为实例变量。尝试类似:
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
private List<string> myList = null;
public Form1()
{
InitializeComponent();
myList = new List<string>();
myList.Add("Dave");
myList.Add("Sam");
myList.Add("Gareth");
}
private void button1_Click(object sender, EventArgs e)
{
foreach (string item in myList)
{
listView1.Items.Add(item);
}
}
}
}