VS2010に標準で付属しているコードコントラクトライブラリについて学び始めたところです。私がすぐに遭遇していることの1つは、契約条項のいくつかが実際に何を意味しているのかということです。
たとえば、これら2つのステートメントはどのように異なりますか?
Contract.Requires(!mycollection.Any(a => a.ID == newID));
Contract.Requires(!Contract.Exists(mycollection, a => a.ID == newID));
言い換えれば、Contract.Existsは、私の関数を使用する開発者にとって、または静的コード分析システムのために、実際の目的で何をしますか?