C#中为什么代码契约不生效?很令人迷惑。 1. 表现令人迷惑 如下图1,第23行仿佛就不存在似的。 2. 为什么呢 追踪一下Require的源码,能看到下图所示 3. 宏定义 在文件中定义变量,则生效。 4. 为证明,上个结果图 附,如下链接,可能有点用。 https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/code-contracts