为什么不能将null用作Dictionary <bool ?, string>的键?
显然,null即使密钥是可为空的类型,也不能将a用作密钥。 这段代码: var nullableBoolLabels = new System.Collections.Generic.Dictionary<bool?, string> { { true, "Yes" }, { false, "No" }, { null, "(n/a)" } }; ...导致此异常: 值不能为空。参数名称:键 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。 [ArgumentNullException: Value cannot be null. Parameter name: key] System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) +44 System.Collections.Generic.Dictionary'2.Insert(TKey key, TValue value, Boolean add) +40 System.Collections.Generic.Dictionary'2.Add(TKey key, TValue value) +13 .NET框架为什么允许键的可空类型,但不允许空值?