如果string为null,如何避免Tostring异常?

时间:2019-01-25 05:21:55

标签: c# datareader

我想按如下方式将数据行值转换为sring。

userGuid = dr["user_guid"].ToString();

它可能包含Guid或null(不为空字符串)。如果它包含null,则表示异常。

我该如何克服这个问题。

4 个答案:

答案 0 :(得分:2)

我想您正在从数据读取器中读取数据。

您将必须检查该值是否为null或DBNull,然后才能调用字符串方法。

    string user_guid = dr["user_guid"] != DBNull.Value && dr["user_guid"] != null ? dr["user_guid"].ToString() : null ; 

希望这会有所帮助。

答案 1 :(得分:1)

if (dr[user_guid"] != null) {
    //whatever you want to do
} else {
    //handle the null value in some way
}

或者,

dr["user_guid"]?.ToString();

?是所谓的“零安全导航器”。

答案 2 :(得分:0)

这可能是有用的,是许多方法之一

 userGuid  = dr["user_guid"]?.ToString()?? "Default Value";

请根据您的应用逻辑,以您认为合适的方式替换“默认值”。

答案 3 :(得分:-1)

也许是这样: userGuid = dr["user_guid"].ToString() ?? throw new Exception();