C#中的短铸造错误

时间:2013-05-10 07:58:09

标签: c# casting short

我试图从我的数据库中获取短变量值并需要强制转换但是在调试时会出现转换错误如何解决这个问题?你能帮助我吗?

    obj_OBJimagegallery.watermark =String.IsNullOrEmpty((dr["watermark"]).ToString()) ? null : (short?)(dr["watermark"]);      

3 个答案:

答案 0 :(得分:0)

尝试使用方法,而不是施放

Int16.TryParse Method (String, Int16%)

有用法

short result;

if(Int16.TryParse Method ((dr["watermark"].ToString(), out result) == false)
{
//fail
}

obj_OBJimagegallery.watermark = result;// <- you have there parsed value

答案 1 :(得分:0)

试试这个。

short? s = String.IsNullOrEmpty((dr["watermark"]).ToString()) ? null : (short?)short.Parse(dr["watermark"].ToString());

答案 2 :(得分:0)

我使用这样的转换解决了我的问题

     (short?)(Convert.ToInt16(dr["watermark"])