C# 我的名单赢了';t clear,尽管使用了clear(),它甚至在关闭表单后保留数据 private void btnClear\u单击(对象发送者,事件参数e) { txtInput.Text=“”; txtOutput.Text=“”; mainList.Clear(); } 私有void btnAdd_单击(对象发送者,事件参数e) { StreamWriter输出文件; outputFile=File.AppendText(“texter.txt”); outputFile.WriteLine(txtInput.Text); outputFile.Close(); List mainList=新列表(); StreamReader输入文件; inputFile=File.OpenText(“texter.txt”); while(inputFile.EndOfStream==false) { mainList.Add(inputFile.ReadLine()); } inputFile.Close(); 对于(int i=0;i
这几乎是我的整个程序,尤其是这个列表让我感到困扰。当我点击add时,它会将列表中的所有条目都输入到文本框中。关闭表单本身不会清除列表,我的清除按钮也不会清除。从注释中可以明显看出,您有一个全局变量C# 我的名单赢了';t clear,尽管使用了clear(),它甚至在关闭表单后保留数据 private void btnClear\u单击(对象发送者,事件参数e) { txtInput.Text=“”; txtOutput.Text=“”; mainList.Clear(); } 私有void btnAdd_单击(对象发送者,事件参数e) { StreamWriter输出文件; outputFile=File.AppendText(“texter.txt”); outputFile.WriteLine(txtInput.Text); outputFile.Close(); List mainList=新列表(); StreamReader输入文件; inputFile=File.OpenText(“texter.txt”); while(inputFile.EndOfStream==false) { mainList.Add(inputFile.ReadLine()); } inputFile.Close(); 对于(int i=0;i,c#,C#,这几乎是我的整个程序,尤其是这个列表让我感到困扰。当我点击add时,它会将列表中的所有条目都输入到文本框中。关闭表单本身不会清除列表,我的清除按钮也不会清除。从注释中可以明显看出,您有一个全局变量mainList定义为list mainList=new list()然后在Add_按钮内单击,您正在创建另一个列表(具有btnAdd_单击的本地功能)并将项目添加到列表中。此变量在btnClear\u单击中不可用,因此实际上这里发生的是向一个列表添加值,然后清除另一个列表 您可以做的是: 删除Lis
mainList
定义为list mainList=new list()代码>然后在Add_按钮内单击,您正在创建另一个列表(具有btnAdd_单击的本地功能)并将项目添加到列表中。此变量在btnClear\u单击中不可用,因此实际上这里发生的是向一个列表添加值,然后清除另一个列表
您可以做的是:
- 删除
List mainList=new List()如果不想在添加新项目之前清除现有数据,请单击“代码>从添加”
- 使用
mainList=newlist()代码>在btnAdd_中单击List mainList=new List()代码>如果在添加新项目之前需要清除现有数据。然后,您的代码片段将按预期工作
从注释中可以明显看出,您有一个全局变量mainList
定义为List mainList=new List()代码>然后在Add_按钮内单击,您正在创建另一个列表(具有btnAdd_单击的本地功能)并将项目添加到列表中。此变量在btnClear\u单击中不可用,因此实际上这里发生的是向一个列表添加值,然后清除另一个列表
您可以做的是:
- 删除
List mainList=new List()如果不想在添加新项目之前清除现有数据,请单击“代码>从添加”
- 使用
mainList=newlist()代码>在btnAdd_中单击List mainList=new List()代码>如果在添加新项目之前需要清除现有数据。然后,您的代码片段将按预期工作
- 您正在清除全局变量,而该变量为空李>
- 将文本添加到局部变量,而不是将其添加到全局变量
变数
- 您正在清除全局变量,而该变量为空李>
- 将文本添加到局部变量,而不是将其添加到全局变量
变数
List mainList
在btnAdd\u中单击
是一个局部变量mainList
inbtnClear\u Click
可能是一个类数据成员。啊,这里没有显示它,因为我只包含了处理程序,但我确实将列表声明为全局列表,list mainList=new list();删除列表mainList=new List();在您的btnAdd_中单击,因为它正在创建一个列表的新实例作为内部类变量。btnClear\u单击正在访问全局mainList变量并将其清除,它不会清除您的列表。请提供-发布的代码无法编译,因为list mainList
是btnAdd\u Click
的局部变量,并且在btnClear\u Click
中无法访问list mainList
中的list mainList
是局部变量mainList
inbtnClear\u Click
可能是一个类数据成员。啊,这里没有显示它,因为我只包含了处理程序,但我确实将列表声明为全局列表,list mainList=new list();删除列表mainList=new List();在您的btnAdd_中单击,因为它正在创建一个列表的新实例作为内部类变量。btnClear\u Click正在访问全局mainList变量并将其清除,它不会清除您的列表。请提供-发布的代码无法编译为list mainList
是btnAdd\u Click
的本地变量,在btnClear\u Click
private void btnClear_Click(object sender, EventArgs e)
{
txtInput.Text = "";
txtOutput.Text = "";
mainList.Clear();
}
private void btnAdd_Click(object sender, EventArgs e)
{
StreamWriter outputFile;
outputFile = File.AppendText("texter.txt");
outputFile.WriteLine(txtInput.Text);
outputFile.Close();
List<String> mainList = new List<String>();
StreamReader inputFile;
inputFile = File.OpenText("texter.txt");
while (inputFile.EndOfStream == false)
{
mainList.Add(inputFile.ReadLine());
}
inputFile.Close();
for (int i = 0; i < mainList.Count; i++)
{
txtOutput.Text += Environment.NewLine + mainList[i];
}
}