C# 当窗体将读取的txt文件加载到数组中时

C# 当窗体将读取的txt文件加载到数组中时,c#,arraylist,C#,Arraylist,我正在开发一个C#应用程序,当加载表单时,我希望它读取txt文件的内容并将其存储到数组中。接下来,当在表单上单击按钮时,我希望按钮单击事件访问数组。如何将数组传递给按钮单击事件?下面的代码有一个错误“statusArray在当前上下文中不存在”,它与按钮单击事件中对数组的引用有关。我需要做什么 苏珊 private void b未完成\u单击(对象发送者,事件参数e) { 对于(int i=0;i

我正在开发一个C#应用程序,当加载表单时,我希望它读取txt文件的内容并将其存储到数组中。接下来,当在表单上单击按钮时,我希望按钮单击事件访问数组。如何将数组传递给按钮单击事件?下面的代码有一个错误“statusArray在当前上下文中不存在”,它与按钮单击事件中对数组的引用有关。我需要做什么

苏珊

private void b未完成\u单击(对象发送者,事件参数e)
{
对于(int i=0;i
将ArrayList作为成员变量存储在表单中,如下所示:

private ArrayList statusArray = new ArrayList();

private void btnCompleted_Click(object sender, EventArgs e) {

    for (int i = 0; i < statusArray.Count; i++)
    {
        if (statusArray[i].Equals("Complete"))

            lstReports.Items.Add(statusArray[i-2]);

    }
}

private void Reports_Load(object sender, EventArgs e)
{
    // declare variables
    string inValue;
    string data;

    inFile = new StreamReader("percent.txt");

    // Read each line from the text file

    while ((inValue = inFile.ReadLine()) != null)
    {
        data = Convert.ToString(inValue);
        statusArray.Add(inValue);

    }

    // Close the text file
    inFile.Close();


}
private ArrayList statusArray=new ArrayList();
私有void b未完成\u单击(对象发送方,事件参数e){
对于(int i=0;i
将ArrayList作为成员变量存储在表单中,如下所示:

private ArrayList statusArray = new ArrayList();

private void btnCompleted_Click(object sender, EventArgs e) {

    for (int i = 0; i < statusArray.Count; i++)
    {
        if (statusArray[i].Equals("Complete"))

            lstReports.Items.Add(statusArray[i-2]);

    }
}

private void Reports_Load(object sender, EventArgs e)
{
    // declare variables
    string inValue;
    string data;

    inFile = new StreamReader("percent.txt");

    // Read each line from the text file

    while ((inValue = inFile.ReadLine()) != null)
    {
        data = Convert.ToString(inValue);
        statusArray.Add(inValue);

    }

    // Close the text file
    inFile.Close();


}
private ArrayList statusArray=new ArrayList();
私有void b未完成\u单击(对象发送方,事件参数e){
对于(int i=0;i
将您的arrayList声明移到
报告加载(对象发送方,EventArgs e)
方法之外,这使它成为一个全局类


您可能还会发现一个
列表
更适合将数据存储在(强类型)

中,将您的arrayList声明移动到
报告加载(对象发送者,事件参数)方法之外,这使它成为一个全局类

您可能还会发现
列表
更适合将数据存储在(强类型)

数组列表与数组不同,如果您使用的是.Net 2.0或更高版本,则数组列表是邪恶的

至于失败的原因:arraylist的作用域是Reports_Load()函数。您希望将其移动到类级别,并声明为
列表

如果确实需要数组,另一个选项是使用文件类“
.ReadAllLines()
方法

private string[] status;

private void btnCompleted_Click(object sender, EventArgs e)
{
    for (int i = 2; i < status.Length; i++)
    {
        if (status[i] == "Complete")
            lstReports.Items.Add(status[i-2]);

    }
}

private void Reports_Load(object sender, EventArgs e)
{
    status = File.ReadAllLines("percent.txt");
}
私有字符串[]状态;
私有void b未完成\u单击(对象发送方,事件参数e)
{
for(int i=2;i
数组列表与数组不是一回事,如果您使用的是.Net 2.0或更高版本,则数组列表是邪恶的

至于失败的原因:arraylist的作用域是Reports_Load()函数。您希望将其移动到类级别,并声明为
列表

如果确实需要数组,另一个选项是使用文件类“
.ReadAllLines()
方法

private string[] status;

private void btnCompleted_Click(object sender, EventArgs e)
{
    for (int i = 2; i < status.Length; i++)
    {
        if (status[i] == "Complete")
            lstReports.Items.Add(status[i-2]);

    }
}

private void Reports_Load(object sender, EventArgs e)
{
    status = File.ReadAllLines("percent.txt");
}
私有字符串[]状态;
私有void b未完成\u单击(对象发送方,事件参数e)
{
for(int i=2;i