在Delphi中,您可以在方法中声明一个常量,并在同一方法中为其赋值.我们的想法是,下次使用此方法时,const仍将具有与上次分配的值相同的值.
它在Delphi中看起来像这样:(
我这里没有Delphi所以它没有经过测试,对此感到抱歉,但它足以证明我的意思)
procedure Form1.test;
const
AssignableConst: Integer = 0;
begin
ShowMessage(AssignableConst);
inc(AssignableConst);
end;
Run Code Online (Sandbox Code Playgroud)
每次调用过程测试时,消息框都会显示最后一个值+ 1
这个例子完全无用我知道它只是为了展示一个可赋值的const如何在Delphi中工作.
在c#中是否存在相同的含义?
我不想要一个涉及类中私有变量的解决方案,它必须留在方法中.
我的问题是关于范围.没有其他的.我不在乎该值是对象状态的一部分.这并不重要.重要的是我需要一个只能从方法范围访问的变量,而不是其他任何地方.
在Delphi中,这可以通过使用可赋值的const来完成,那么我如何在C#中执行此操作?
Jon*_*eet 10
我不想要一个涉及类中私有变量的解决方案,它必须留在方法中.
但是值是对象状态的一部分(或静态方法的类型) - 所以它是对象中声明的字段是有意义的.
在C#中没有与之相当的东西.您可以做的最好的事情是拥有一个私有变量和文档,它只能从特定方法中使用.(如果你真的想要,你可以为它编写基于Roslyn的测试.)