如果该对象可能为null,我如何将对象强制转换为字符串?

时间:2015-02-14 11:01:13

标签: c#

我有这段代码:

var answer = (string)parameters[0].Value;

它失败了一条消息:

Message = "Unable to cast object of type 'System.DBNull' to type 'System.String'."

即使Value为null并且停止异常,是否有某种方法可以进行转换?

1 个答案:

答案 0 :(得分:2)

var answer = ""
if(parameters[0].Value != DBNull.Value) {
     answer = (string)parameters[0].Value
}

或更短:

var answer = parameters[0].Value != DBNull.Value ? (string)parameters[0].Value : ""

你的空结果不是null,它是DBNull.Value,因为你的参数似乎来自DB相关的东西;)

P.S。:我手边没有视觉工作室来测试它,但它应该可以工作;)