如何:在C#中取消设置变量?

Sej*_*nus 23 c#

这真的很有趣,但我没有找到自己的答案.我怎样才能取消变量?例如php已取消设置($ var)功能.

Jon*_*eet 26

你不能.没有"取消"变量的概念.您可以将其设置为不同的值 - 0,null,任何适当的值.实例/静态变量甚至没有关于变量是否设置/未设置的概念,并且局部变量仅具有"明确分配"或"未明确分配".

你想要达到的目标是什么?


Nic*_*ico 26

实际上并没有相当于"未设置".

我所知道的最接近的匹配是使用default关键字.

例如:

MyType myvar = default(MyType);
string a = default(string);
Run Code Online (Sandbox Code Playgroud)

变量仍将"设置",但它将具有默认值.


Arr*_*rry 9

通常将它设置为null是否有作业(对于类似int的类型的变量,你必须使它成为可以为null的版本int?).

如果你只想在一个更大的函数中短时间使用该变量,你可以将它作为范围,如下所示:

{
    int i = 2;
}
Run Code Online (Sandbox Code Playgroud)

变量只会持续到结束括号.

如果这些不能涵盖您的情况,那么您可以详细说明您需要执行此操作的位置.


gim*_*mel 5

也许你想释放变量引用的对象:

MyVar = null;
Run Code Online (Sandbox Code Playgroud)