小数点がコンソールに表示されるという奇妙な動作が見つかりました。これは、次のコードで最もよく説明されます。
string num1AsString = "1.0000";
decimal num1AsDecimal = decimal.Parse(num1AsString);
string num2AsString = "1";
decimal num2AsDecimal = decimal.Parse(num2AsString);
Console.WriteLine(num1AsDecimal);
Console.WriteLine(num2AsDecimal);
コンソールへの出力は次のとおりです。
1.0000
1
ただし、num1AsDecimalとnum2AsDecimalは、デバッガーに1としてのみ表示されます。num1AsDecimalはどういうわけか.0000を保持していますか?それはどういうわけかその文字列表現を保持しているようです。ここでボクシングのようなものがありますか?
ビリースタック