c# - 静态类中静态方法中的变量

标签 c# .net oop c#-4.0 static

请考虑这段代码:

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/

相关文章:

c# - 在可选参数中设置 DateTime 的默认值

c# - 如何获取 XML 或 XElement 变量中的特定元素计数

c# - 如何制作我的应用程序单例应用程序?

java - 我们可以在不强制类实现接口(interface)的情况下拥有多态性吗?

java - MapStruct 泛型 Map 和 map 子对象的组合列表

python - 在对象字典上调用 str

c# - 如何使文本框自动完成结果选择直接导航到记录详细信息?

用于计算金融和计量经济学的 C# 和 NMath

c# - 知道任何 C# 空间数据库吗?

.net - 使用 WiX 检测 .NET Framework 4.5.1