引用: 即効入門 C#プログラミング すぐに現場で使える知識 by 中 博俊さんら
3.10 既定値
C#には、既定値(数値の場合は0,
論理値論理型の場合はfalse, 参照型の場合はnull, 構造体の場合はすべてのフィールドを既定値で初期化したもの)を取得するための、default式というものがあります。
var n = default(int); // (int)0
var s = default(string); // (string)null;
ideoneで実装してみた。
http://ideone.com/1LktI3
いまいち使いどころが分からない。default(int)
とか書くと「default値ってなんだ?」ということになるのでvar n = (int)0;
など書いたほうがいいように思う。
あるいは、「この値はdefault値に戻している」という意図をコードとして残すのだろうか? n = 0;
と書いた時「0ってなんだ?」になるより、n = default(int)
として「デフォルト値に戻しているのか」と分かる? ただ、その場合でも、自分でconst定義した数値を入れるほうがデフォルト値を0以外にできるだろう。
(追記 2015/08/27) @potimarimo さんのコメントにより、上記の疑問が解決しました。
ジェネリックの場合、既定値を0などで設定しているとまずいのでdefault()が役に立つということでした。