3

私の知る限り、の連結は"H" + 'i'定数文字列を生成します。
私または C# は間違っていますか?

コード :

const string b = "H" + 'i';
// Error : The expression being assigned to 'b' must be constant

これはバグまたは機能としてカウントされますか?

4

2 に答える 2

8

これは微妙です。

'i'文字リテラルです。
それを文字列に追加するには、定数式ではないボクシング変換 (string operator +(string x, object y)仕様で指定されているように を呼び出す) が必要です。

詳細については、以前の回答を参照してください。

于 2013-02-26T20:07:45.667 に答える
0

おそらくVS2010エラーがそれを定義するのに役立ちます:

Constant initializer must be compile-time constant

したがって、「H」+「i」はランタイム値です。

于 2013-02-26T20:09:01.097 に答える