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;

}

因此,在此示例中,我需要从函数中调用函数中定义的字符串“ ”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应用程序中的持久状态。选项包括:

  1. 页面值(例如,隐藏字段)
  2. 饼干
  3. 会话变量
  4. 应用变量
  5. 数据库
  6. 服务器端文件
  7. 在服务器端保留数据的其他方法,等等。

以上是 C#从另一个方法引用变量 的全部内容, 来源链接: utcz.com/qa/426256.html

回到顶部