3

char[] wordを介してコンソールに書き込もうとすると、なぜこの奇妙なことが起こるのか

Console.WriteLine(word);

正しい結果が得られましたが、書くと

Console.WriteLine(word + " something");

私は「System.Char[]何か」を得ますか?

4

4 に答える 4

1

これは

Console.WriteLine(word);

WriteLineを受け取るオーバーロードを呼び出しchar[]ます。

Console.WriteLine(word + " something");

その結果ToString()wordSystem.Char[]

正しく出力するには、次を試してください。

Console.WriteLine(new string(word) + " something");
于 2013-07-25T12:36:45.813 に答える
0

これが発生する理由は、文字列のオーバーロード operator+ がそのように動作するためです。そのように使用したい場合は、最初に char[] ワードから文字列を作成する必要があります。試す

Console.WriteLine(new string(word) + " something");
于 2013-07-25T12:37:48.173 に答える
0

Console.WriteLine()パラメータとして取るオーバーロードがありchar[]ます。

"something"文字列リテラルです。連結しようとするstringchar[].ToString()メソッドは auto を呼び出します。

代わりにこれを試してください。

Console.WriteLine(new string(word) + " something");
于 2013-07-25T12:38:42.997 に答える