gpt4 book ai didi

c# - 如何从 C# 中的数据读取器转换为空 boolean 值?

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:53 25 4
gpt4 key购买 nike

我正在尝试使用此方法从数据库中转换一个空 boolean 值:

bool? primaryFlag = reader["primaryflag"] is DBNull ? null: (bool?)reader["primaryflag"];

我不断收到指定转换无效异常。我使用的方法有什么问题?

最佳答案

您不能将其转换为 Nullable<bool>直接地。但是你可以使用 as运算符(operator):

bool? primaryFlag = reader["primaryflag"] as bool?;

这是有效的,因为如果值为 DBNull.Value 则转换失败, 所以它会正确地分配一个 bool?那是 null .

或者这个不太优雅的版本:

bool? primaryFlag = null;
int colOrdinal = reader.GetOrdinal("primaryflag");
if(!reader.IsDBNull(colOrdinal))
primaryFlag = reader.GetBoolean(colOrdinal);

关于c# - 如何从 C# 中的数据读取器转换为空 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33548531/

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