请考虑这段代码:
1)public static class MyClass
2){
3) public static DateTime MyMethod(DateTime dt)
4) {
5) DateTime temp = new DateTime();
6) temp = dt.AddDays(1);
7) return temp;
8) }
9)}
每次调用 MyMethod
时,temp
变量是否有实例?还是因为它在静态类中的静态方法中,只有 temp
变量的一个实例在内存中分配?
谢谢
最佳答案
temp
既不是静态变量也不是实例变量,它是一个本地 变量。声明它的方法是否是静态的绝对无关紧要:变量的作用域从它的声明点开始,到它所在作用域的右花括号 }
结束被宣布。通过 MyMethod
的每个执行线程都会获得自己的 temp
副本,该副本在变量范围之外的任何地方都是不可见的。
关于c# - 静态类中静态方法中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11145993/