我真的錯過了C#中的C #define
;在C##define參考說:有沒有一種方法如何使用常量沒有範圍解決?
#define指令不能被用於聲明恆定值是 通常在C和C++進行。 C#中的常量最好定義爲 類或結構的靜態成員。如果您有幾個這樣的常量,請考慮創建一個單獨的「常量」類來保存它們的 。
所以我想有這樣的事情:
class Constants {
public static const int UP=0, DOWN=1, LEFT=2, RIGHT=3;
...
}
class Foo {
public Foo(int dir) {
// import Constants scope here (and some other classes) somehow
if(dir==UP) ...
// ...because this is far worse readable
if(dir==Constants.UP)
}
}
這可能嗎?如果是,如何?
你試圖完成什麼?在我看來,枚舉值是你想要使用的而不是常量。看看Enum,而不是我的建議 – Sandman
類名'Directions'會使它更具可讀性。實際上,爲不同目的創建幾個常量類(或枚舉)可能是一個好主意 – Andrei