C# の null と string の operator== の変な仕様
id:unibon:20080402:p2 や http://d.hatena.ne.jp/unibon/searchdiary?word=null の続き。
C# の string の、null と operator== 絡みの仕様はつぎのとおりだ。
(null == "") は false である。(ちなみに (null == "abc") も false である。) (null != "") は true である。(ちなみに (null != "abc") も true である。)
unibon としては、どの場合も NullReferenceException を出してほしいと思う。要は、左辺や右辺に null があればその時点で例外を出してほしい。
なお、その場合、
string s = "foo"; if (s == null) { .... }
は if (s is null) のような検査方法ができるようにしてほしい。