使用方法(C#)初始化常量变量

是否可以使用另一个类的方法初始化常量值的值

namespace ConsoleApplication1 { class Program { const int gravit = haha.habc();//something like this static void Main(string[] args) { some codes..... } public class haha { int gar = 1; public int habc() { int sa = 1; return sa; } } } } 

例如上面的代码(使用此代码的FYI我将表达式分配给…必须是常量),如果没有,那么还有其他方法可以执行与此类似的操作。

不,那是不可能的,你可以使用readonly字段,因为在编译时应该知道常量值:

 private static readonly int gravit = haha.habc();//something like this 

注意:如果你想以这种方式调用它, habc方法应该是静态的。

常量是应该在编译时知道并且不会更改的值。 所以ReadOnly是您应该选择的选项。

 private readonly int gravit = haha.habc();