C# 如何将所有变量重置为初始状态?

C# 如何将所有变量重置为初始状态?,c#,winforms,reset,C#,Winforms,Reset,我的应用程序中需要一个重置按钮。如何将应用程序和所有变量重置为初始状态?我有类似的东西 private void btnReset_Click(object sender, EventArgs e) { txtNajmensia.Text = ""; //textbox txtNajvacsia.Text = ""; //textbox txtVacsia.Text = ""; //textbox txtVolumeBigest.Text = ""; //text

我的应用程序中需要一个重置按钮。如何将应用程序和所有变量重置为初始状态?我有类似的东西

private void btnReset_Click(object sender, EventArgs e)
{
    txtNajmensia.Text = ""; //textbox
    txtNajvacsia.Text = ""; //textbox
    txtVacsia.Text = ""; //textbox
    txtVolumeBigest.Text = ""; //textbox
    txtVolumeBigger.Text = ""; //textbox
    txtVolumeSmall.Text = ""; //textbox
    fronta.RemoveRange(0, fronta.Count); //List
    potomci.RemoveRange(0, potomci.Count); //List
    visited.RemoveRange(0, visited.Count); //List
    lblResult.Text = ""; //label
    txtFinalA.Text = ""; //textbox
    txtFinalB.Text = ""; //textbox
    txtFinalC.Text = ""; //textbox
    lblNotFound.Visible = false; //label
    lblFound.Visible = false; //label
    richTextBox1.Text = ""; 
}
但当我想用新值计算第二次时,我有一个错误,即所访问的列表不包含任何元素。

您的列表应该是

_fronta.Clear();
我个人会用string.empty代替“”


但正如下面的评论所说,这并不能回答你的问题。您遇到的问题是,您试图在清除列表后使用该列表。因此,您可以不清除该列表,也可以检查它在使用它的位置是否有值。

您已经指出这些是状态列表。清除它们然后再次填充它们似乎没有意义,因此请从代码中删除以下行:

fronta.RemoveRange(0, fronta.Count); //List
potomci.RemoveRange(0, potomci.Count); //List
visited.RemoveRange(0, visited.Count); //List
我假设您只想清除选定的值,请尝试以下操作:

fronta.SelectedIndex = -1;
potomci.SelectedIndex = -1;
visited.SelectedIndex = -1;

您正在从已访问的列表中删除所有元素,因此您认为会发生什么情况?您可以使用
.RemoveRange()
而不是
.Clear()
,甚至将其实例化为一个新列表。至于错误,在哪里发生的?如果您试图在删除所有元素后对列表执行某些操作,那么它当然不会包含任何元素…@N4TKD当我第一次运行应用程序时,访问的列表为空。在计算过程中,将填充值​​. 所以问题是为什么它在第二次使用其他值时不起作用。@Grantwiney我有一个类状态。列表访问这并没有回答问题。+1为了添加解释,这里的所有其他答案只是告诉OP,他的代码很难看,没有解释他正在得到的实际错误。公平地说,他的最初问题是如何重置所有回答都给出的值。我认为这只是一个名称不正确的问题。他已经在重置代码中的值,然后由于值为空而出现错误。:)
fronta.SelectedIndex = -1;
potomci.SelectedIndex = -1;
visited.SelectedIndex = -1;