先週、「C#にもNull非許容な型が欲しい」という話をされたものの「うん、欲しいね」としか返せなかったり。要望は昔からあるけども、実際入れようと思うと結構大変。という話、説明しておいた方がいいんだろうなぁと思ったので、ブログにしてみることに。 先に結論の要旨だけ書くと、以下のような感じ。 C#だけで完結する問題じゃなく、.NETレベルで対応するのは今からだときつい Code Contracts使って契約プログラミングするのがいいよ 以下詳細。 公式の見解 Anders Hejlsberg も、「もしもの話」として、1からの再設計が許されるなら C#/.NET をどうしたいかという質問に対して「Null 許容性の見直し」を挙げています。 一時期、結構頻繁にそういっていたと思います。少し検索して出てきたのでいうと、以下の Q&A インタビューの、1:00:00 からのくだり。 今、値型に関して