我刚刚开始了解 VS2010 标配的代码契约库。我马上遇到的一件事是某些合同条款的真正含义。
例如,这两种说法有何不同?
Contract.Requires(!mycollection.Any(a => a.ID == newID));
Contract.Requires(!Contract.Exists(mycollection, a => a.ID == newID));
换句话说,Contract.Exists 在实际用途中做了什么,无论是对于使用我的函数的开发人员,还是对于静态代码分析系统?