Я только начинаю изучать библиотеку контрактов кода, которая входит в стандартную комплектацию VS2010. Одна вещь, с которой я сталкиваюсь сразу же, - это то, что на самом деле означают некоторые положения договора.
Например, чем эти два утверждения отличаются?
Contract.Requires(!mycollection.Any(a => a.ID == newID));
Contract.Requires(!Contract.Exists(mycollection, a => a.ID == newID));
Другими словами, что Contract.Exists делает в практических целях, либо для разработчика, использующего мою функцию, либо для системы статического анализа кода?