我有一个表单,我通过各种对象收集用户输入:txtBoxes、radioButtons、cmboBoxes 甚至 numericUpDown。这些值必须被存储,所以我假设 List<> 比 Array 更适合这个,因为我们不知道我们将输入多少“项目”。我计划为每个字段实现 Lists<>。我想..填写表格,单击 Enter Next,所有字段都存储它们的值,然后清除所有字段。再次填写表格x次并最终显示所有内容..但我的逻辑中遗漏了一些我无法指出的东西。
但是现在让我感到困惑的是我的 foreach 循环中的“名称”错误。它说它是一个局部变量并且它不能在这里使用它,它会改变它在父/当前范围内其他地方的含义。但这就是为什么我将它声明为一个字段,假设所有对变量的调用都可以使用它。我也在这里搜索,发现Question about List scope in C#,但不确定如何应用它。以下代码来自我的第一个 txtBox。请原谅我的过度评论。这是我的“素描”,为自己做提醒。我知道这个问题很简单,我只是没看到它..
namespace Employees
{
public partial class Employees : Form
{
public Employees()
{ //field declarations.
string Name; //'declared but never used?'
InitializeComponent();
}
private void txtInputName_TextChanged(object sender, EventArgs e)
{ //#1.) *********************************
Name = txtInputName.Text;
List<string> InputNameList = new List<string>();
//InputNameList.Add(Name);
//List for holding name input from txtInputName.Text
//will need ForLoop for consecutive entries.
for (int index = 0; index < InputNameList.Count; index++)
{
InputNameList.Add(Name); //but, it's used here.
MessageBox.Show("success");//Fill List
txtInputName.Clear();
txtInputName.Focus();
} //endFor
//for (int index = 0; index < InputNameList.Count; index++); //Display List
//{
// lstBoxOut.Items.Add(Name);
//} //displays as before.
foreach(string Name in InputNameList) //error on thisName.
{
lstBoxOut.Items.Add(Name);
} //end ForEach
} //end txtInputName