C# 将visual studio文本框转换为文本文件

C# 将visual studio文本框转换为文本文件,c#,text-files,C#,Text Files,我是visual studio c#的新手。这可能是一个愚蠢的问题,但我找不到下一个代码的解决方案。 我正在尝试导入一个文本框(这是可行的),我想将它们导入一个文本文件 private void Rbalast_TextChanged(object sender, EventArgs e) { string balastR = Rbalast.Text; } private void EXPORT_Click(object sender, Eve

我是visual studio c#的新手。这可能是一个愚蠢的问题,但我找不到下一个代码的解决方案。 我正在尝试导入一个文本框(这是可行的),我想将它们导入一个文本文件

    private void Rbalast_TextChanged(object sender, EventArgs e)
    {
        string balastR = Rbalast.Text;

    }
    private void EXPORT_Click(object sender, EventArgs e)
    {

    System.IO.StreamWriter file = new System.IO.StreamWriter("d:/VAR/200_runSheet_Tests/.txt");
    file.Write(balastR);
    file.Close();
}

我认为这是因为私人空间,但我找不到改变这一点的解决方案。

您的问题在于缺乏可变范围的知识

要解决这个问题,您有两个选择

1) 将变量
balastR
放在类作用域中方法
Rbalast\u TextChanged
的上方,这样您就可以像当前一样在
EXPORT\u单击中使用它


2) 按照
PoweredByOrange
建议,只需替换
file.Write(balastR)
file.Write(Rbalast.Text)一起使用

范围我的朋友。看看这个
balastR
是一个局部变量,无法用其他方法访问它。只需执行
file.Write(Rbalast.Text)这是一个解决方案@PoweredByOrange。但这对OP来说仍然没有帮助,因为它显然缺乏关于变量范围[meta comment]的知识,感谢您包含了对您不起作用的代码。当然,那些评论这是一个范围问题的人是正确的,但是为了将来的参考,也可以将您得到的错误消息包括在内。这个问题对于我们这些在语言方面有经验的人来说并不算太坏,包含代码就足够了,但是如果你开始处理更复杂的问题,尽早养成这个习惯会很好。你会建议有人遵循第一种选择吗?让本地字段与文本框文本保持同步(本质上,可以从相同的作用域访问该字段)似乎引入了一层不必要的复杂性,这可能会导致bug。这一点在@MatthewHaugen是非常正确的。但是,列出第一个选项应该有助于了解为什么OP的当前解决方案不起作用,以及变量范围的含义。即使第二个建议更好。