gpt4 book ai didi

asp.net - 在 ASP.NET 中处理 DBNull 和 null

转载 作者:行者123 更新时间:2023-11-29 00:53:11 24 4
gpt4 key购买 nike

重写这些(错误)行的最佳方法是什么?

bool? result = dr["result"] == DBNull.Value ? null : Convert.ToInt32(dr["result"]);

...和...

dr["result"] = result ?? DBNull.Value;

两者都不编译。

我正在使用 MySql 连接器,它不允许我设置,例如 dr["result"] = null; 这是我第一次尝试的。

是否有更合适的 .NET 数据类型来表示 MySql 可为空 tinyint(1)

最佳答案

怎么样:

     dr["Hello"] = (object)result ?? DBNull.Value;
bool? result = dr["result"] == DBNull.Value ? null : (bool?)(Convert.ToInt32(dr["result"]) != 0);

您的建议无法编译的原因是三元运算符 ?: 的两个替代项必须具有相同的类型。 DBNull.Value 显然与 bool? 不是同一类型。但是,将 bool? 转换为 object 会使它们成为同一类型。类似的规则适用于第二行。

关于asp.net - 在 ASP.NET 中处理 DBNull 和 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7373455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com