【发布时间】:2012-07-09 20:50:24
【问题描述】:
我知道,当您使用静态变量时,它的值会在所有用户之间共享。
static string testValue = "";
protected void SomeMethod(object sender, EventArgs e)
{
testValue = TextBox1.Text;
string value = TestClass.returnString(TextBox1.Text); // <-- return from a static method
}
因此,在这种情况下,如果一个用户访问一个网站并将一个值放入文本框中,那么当另一个用户在文本框中输入内容时,字符串 testValue 将被另一个值覆盖。 (我认为?)
我现在有这门课:
public class TestClass
{
public static string returnString(string msg)
{
return msg;
}
}
我的问题是:如果我使用静态方法,该方法的返回值是否也为所有用户共享?还是每个用户总是一个“独特”的价值?
假设这个方法被五个不同的用户调用了五次,这个静态方法会返回一个特定用户输入的值,还是有可能一个用户得到另一个用户输入的值?
【问题讨论】:
-
在您的示例中,每个调用者的返回值都是“唯一的”,因此如果每个调用者使用不同的参数值调用静态方法,它们都将返回他们调用的值函数,而不可能返回另一个调用者的值。