char[] word
を介してコンソールに書き込もうとすると、なぜこの奇妙なことが起こるのか
Console.WriteLine(word);
正しい結果が得られましたが、書くと
Console.WriteLine(word + " something");
私は「System.Char[]
何か」を得ますか?
これは
Console.WriteLine(word);
WriteLine
を受け取るオーバーロードを呼び出しchar[]
ます。
の
Console.WriteLine(word + " something");
その結果ToString()
、word
System.Char[]
正しく出力するには、次を試してください。
Console.WriteLine(new string(word) + " something");
これが発生する理由は、文字列のオーバーロード operator+ がそのように動作するためです。そのように使用したい場合は、最初に char[] ワードから文字列を作成する必要があります。試す
Console.WriteLine(new string(word) + " something");