Effective C# 3rd 読書メモ 09 ボックス化とボックス化解除を最小限にする

値型と参照型の間の暗黙的な型変換(ボックス化、ボックス化解除)にはパフォーマンス上の影響がある。
ボックス化とボックス化解除はできるだけ避けるべき。

たとえば、以下のコードではボックス化が発生する。

int first = 1;
int second = 2;
Console.WriteLine($"A few numbers: {first}, {second}");

文字列を組み立てる段階で、intに対してToString()を実行するために、コンパイラがボックス化のための命令を生成する。
ボックス化を避けるには、以下のように明示的なメソッド呼び出しを行う。

Console.WriteLine($"A few numbers:{first.ToString()}, {second.ToString()}");

このように、System.Objectへの暗黙的な型変換に注意することで、ボックス化を最小限にすることができる。

参考: ボックス化とボックス化解除 (C# プログラミング ガイド)

コメントをどうぞ

コメントを残す