C++ では、次の式を使用できます。
#define IDENTIFIER NAME
例えば。#define MY_NAME "Gideon"
これはC#でも同様に可能ですか?
C++ では、次の式を使用できます。
#define IDENTIFIER NAME
例えば。#define MY_NAME "Gideon"
これはC#でも同様に可能ですか?
No.#define
は、テストするフラグを定義するためにのみ使用できます#if
(そして、ファイルの先頭でのみ使用できます)。
代わりに定数文字列を使用します。
const string MY_NAME = "Gideon";
それらはまったく別のものです。C++
基本的に、文字列 をそれ に割り当てられた式に置き換えます。MY_NAME
"Gideon"
C#
カンスタント式の場合は同じことが起こりC++
ますが、 では完全なマクロ (関数) を定義して実行することができMY_NAME
ますが、これは では不可能です。C#
私はあなたがそれをすべきだとか、それがあなたが期待するように働くだろうと言っているわけではありませんが、あなたがあなたのコードでCプリプロセッサ(例えばGNU cpp)を使おうとするのを妨げるものは何もありません。