C# 静态新手:静态类/方法中的非静态变量是静态的吗?
当一个网站同时点击具有非静态变量的同一个静态方法时,即使没有声明为静态变量,这些变量也是静态的吗?我想是的,但我不得不问 另一种选择是相同代码的不同执行具有不同的内部变量,因此此代码不会产生意外的字符串长度,例如:C# 静态新手:静态类/方法中的非静态变量是静态的吗?,c#,C#,当一个网站同时点击具有非静态变量的同一个静态方法时,即使没有声明为静态变量,这些变量也是静态的吗?我想是的,但我不得不问 另一种选择是相同代码的不同执行具有不同的内部变量,因此此代码不会产生意外的字符串长度,例如: public static class MyClass { public static int getResult(string ext) { int length = est.length; // One place in RAM or mult
public static class MyClass
{
public static int getResult(string ext)
{
int length = est.length; // One place in RAM or multiple?
Thread.Sleep(5000); // Does this stop program execution for others?
return length;
}
}
问题摘要:
- 局部变量,属于声明它们的方法
- 实例变量,与声明类型的特定实例关联
- 静态变量,与声明类型本身关联(而不是与任何特定实例关联)
Thread.Sleep
仅使当前线程睡眠-如果您的应用程序有多个线程,其他线程仍可以执行。TYVM。我使用LinqPad创建了一个示例来证明这一点。我有三个线程在向上计数,向下计数,不计数,只是报告变量内容。正如你所描述的那样工作。