gpt4 book ai didi

c# - 使用 winforms 在 c# 中处理跨方法列表

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:06 26 4
gpt4 key购买 nike

我正在解决一个问题,我将一个文本文件加载到一个字符串列表中并显示在一个列表框中(我已经完成了)但是我现在想要一个按钮事件将列表的内容放在第二个列表框中只是空白。我可以在 VB 中轻松地做到这一点,但我对 C# 还很陌生,我意识到我可能遗漏了一些明显的东西。

namespace texttoarray
{


public partial class Form1 : Form
{

public int counter;
public List<string> finalList;

public Form1()
{
InitializeComponent();
List<string> finalList = AddToList();

}

public List<string> AddToList()
{
counter = 0;
string line;
List<string> list = new List<string>();
System.IO.StreamReader file = new System.IO.StreamReader(@"list.txt");
while ((line = file.ReadLine()) != null)
{
listBox1.Items.Add(line);
list.Add(line);
counter++;
}


//listBox2.DataSource = list;

MessageBox.Show(counter.ToString());
return list;
}


public void button1_Click(object sender, EventArgs e)
{
listBox2.DataSource = finalList;

}


}


}

最佳答案

您正在构造函数中创建本地列表。您应该将 AddToList 方法的结果分配给字段 finalList

您的代码:

 List<string> finalList;
public Form1()
{
InitializeComponent();
List<string> finalList = AddToList(); //Creation of new local variable 'finalList'
}

解决方案:

List<string> _finalList;            
public Form1()
{
InitializeComponent();

_finalList = AddToList(); //Use '_finalList' field
}

注意:如果您使用了适当的命名约定,您可以很容易地检测到这一点。即私有(private)字段名称应以下划线开头。公共(public)实例变量应以大写字母开头。

关于c# - 使用 winforms 在 c# 中处理跨方法列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40839505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com