<Nullable>enable</Nullable>C# 8 引入的可空引用类型(Nullable Reference Types, NRT) 的开关,作用是让引用类型在编译期变得“不可空”,从而在编译阶段发现潜在的 NullReferenceException

下面我从「它是干嘛的 → 怎么生效 → 行为变化 → 常见误区 → 实战建议」一步步讲清楚。


一、一句话结论

<Nullable>enable</Nullable> 打开后,引用类型默认“不能为 null”,编译器会帮你找空引用 bug。

它不是“运行时功能”,而是 编译期静态分析工具


阅读剩余部分

ASP.NET Core 中,ModelState.IsValid 是一个非常核心的验证入口,用来判断客户端提交的数据是否通过了模型验证规则。下面从「用途 → 原理 → 常见用法 → 实用技巧 → 易踩坑点」系统讲一下。


一、ModelState.IsValid 是干嘛的?

一句话总结:

ModelState.IsValid 用来检查模型绑定 + 数据注解验证是否全部通过。

它本质上是对 ModelState 中所有 ModelError 的一个汇总判断。

if (!ModelState.IsValid)
{
    // 有验证错误,不能继续业务处理
}

阅读剩余部分