如何正确操作变量
本文关键字:变量 操作 何正确 | 更新日期: 2023-09-27 18:00:39
所以我试图创建一个字符串变量,其中包含一些文本和一个从文本框获取数据的变量:
string var1, var2;
var1 = txt1.text;
var2 = "some text" + var1 + "some text";
当我在按钮事件中尝试它时,这并不难,但var2将在我的程序中经常使用,它里面有很多文本。如果可能的话,我希望尽量减少在每个需要的事件上反复声明变量的次数。我想如果这能发生的话会更容易:
string var1 = TextBox.Text;
string var2 = "a lot of text" + var1 + "a lot of text";
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
rtextbox.Text = "a lot of text" + var2;
}
var2将被用作签名,所以我需要多次访问它。如果有更简单的方法,那么我愿意接受建议。
当使用上面的代码声明变量时,我没有得到文本框的intellisense,所以我得到了一个错误。我需要帮助,这样我就可以像上面说明的那样声明变量。我使用的是vs2010。如果使用更高版本会有所帮助,那么我会尝试一下。
我只接触了c#编程的表面,所以你看到的任何可能失修的东西都不是这样的。
我假设当您更改TextBox中的值并随后调用var2
时,您希望看到新的值。你可以通过使用一个函数来返回它,例如
private string GetFormattedTextBoxValue()
{
string var1 = TextBox.Text;
string var2 = "a lot of text" + var1 + "a lot of text";
return var2;
}
private void button1_Click(object sender, EventArgs e)
{
rtextbox.Text = "a lot of text" + GetFormattedTextBoxValue();
}
或者,如果你想重用逻辑,你可以在文本框中传递:
private string GetFormattedTextBoxValue(System.Windows.Forms.TextBox textbox)
{
string var1 = textbox.Text;
string var2 = "a lot of text" + var1 + "a lot of text";
return var2;
}
private void button1_Click(object sender, EventArgs e)
{
rtextbox.Text = "a lot of text" + GetFormattedTextBoxValue(TextBox1);
}
或者,如果它总是同一个文本框,你可以将其作为一个属性,而不需要括号
private string FormattedTextBoxValue
{
get
{
string var1 = TextBox.Text;
string var2 = "a lot of text" + var1 + "a lot of text";
return var2;
}
}
private void button1_Click(object sender, EventArgs e)
{
rtextbox.Text = "a lot of text" + FormattedTextBoxValue;
}
然后你就可以去掉临时变量:
private string FormattedTextBoxValue
{
get
{
return "a lot of text" + TextBox.Text + "a lot of text";
}
}
private void button1_Click(object sender, EventArgs e)
{
rtextbox.Text = "a lot of text" + FormattedTextBoxValue;
}
您可以在一个地方声明变量,如下所示:
public static string var1, var2;
然后您可以将它与classname.var1一起使用,其中classname是您声明var1的类。
类似于您想要的东西:
不推荐
public static class GlobalVariables{
public static string Var2 {get;set;}
}
从你的问题中还不清楚你是想在所有表单中还是在一个表单中使用Var2。如果你想在所有窗体中使用它,那么最好像这个一样声明静态类
static class GlobalClass
{
private static string var2 = "";
public static string Var2
{
get { return var2; }
set { var2 = value; }
}
}
像这个一样使用
GlobalClass.Var2 = "any string value";