下記のコードの出力は何か?
という問題に答えられなかったorz
static void Main() { string a = "abc"; Test(a); Console.WriteLine(a); } static void Test(string b) { b = b + "def"; }
下記参照の解説や等価な表現を見れば理解は出きるけど,
パっと答えられないあたりがダメすぎる.
こんなことでバグなんて出さないように気をつけましょう(自分)
あと,こんな問題も出された.
static void Main() { string a = null; string b = null; string c = a + b; Console.WriteLine(c.Length); }
これも間違えた(例外出ると思った)けど,
この出力は「0」が返ってくる.
どうやら文字列連結において null は空文字として処理されるらしい.
ちょっとした豆知識でした.
【参照】
http://jikkenjo.net/820.html
http://msdn.microsoft.com/ja-jp/library/vstudio/ms228504.aspx