我是 C#的 新手,我真的需要知道如何从其他方法调用/使用字符串。
例如:
public void button1_Click(object sender, EventArgs e) { string a = "help"; } public void button2_Click(object sender, EventArgs e) { //this is where I need to call the string "a" value from button1_click string b = "I need "; string c = b + a; }
因此,在此示例中,我需要从函数中调用函数中定义的字符串“ a ”button1_Click()``button2_Click()
button1_Click()``button2_Click()
谢谢!!
通常, 您会将其作为参数传递,如下所示:
void Method1() { var myString = "help"; Method2(myString); } void Method2(string aString) { var myString = "I need "; var anotherString = myString + aString; }
但是 ,示例中的方法是事件侦听器。您通常不直接致电他们。(我想您 可以 ,但是我从未找到一个 应该 这样做的实例。)因此,在这种特殊情况下,将值存储在类中的公共位置以供两种方法使用会更为谨慎。像这样:
string StringA { get; set; } public void button1_Click(object sender, EventArgs e) { StringA = "help"; } public void button2_Click(object sender, EventArgs e) { string b = "I need "; string c = b + StringA; }
但是请注意,这在ASP.NET中的行为将非常不同。因此,如果这就是您正在使用的内容,那么您可能希望将其更进一步。其行为不同的原因是服务器端是“无状态的”。因此,来自客户端的每个按钮单击都将导致该类的全新实例。因此,在第二个按钮单击事件处理程序中使用它时,不会在第一个按钮单击事件处理程序中设置该类级成员。
在这种情况下,您将需要查看Web应用程序中的持久状态。选项包括: