Vb.net 三元算子与赋值
我试图使用三元Vb.net 三元算子与赋值,vb.net,Vb.net,我试图使用三元If运算符保存VB.NET项目中的唯一代码行,但被抛出: “指定的强制转换无效” 你的问题是 System.Data.SqlTypes.SqlDateTime.MinValue 及 返回不同的类型。这是我在不知道变量和返回类型的情况下所能给出的答案 总之,当您使用If(1,2,3)-2和3必须返回相同的类型时,您的问题是 System.Data.SqlTypes.SqlDateTime.MinValue 及 返回不同的类型。这是我在不知道变量和返回类型的情况下所能给出的答案 底
If
运算符保存VB.NET项目中的唯一代码行,但被抛出:
“指定的强制转换无效”
你的问题是
System.Data.SqlTypes.SqlDateTime.MinValue
及
返回不同的类型。这是我在不知道变量和返回类型的情况下所能给出的答案
总之,当您使用If(1,2,3)
-2和3必须返回相同的类型时,您的问题是
System.Data.SqlTypes.SqlDateTime.MinValue
及
返回不同的类型。这是我在不知道变量和返回类型的情况下所能给出的答案
底线是,当您使用
If(1,2,3)
-2和3必须返回相同的类型System.Data.SqlTypes.SqlDateTime.MinValue的类型为System.Data.SqlTypes.SqlDateTime
如果必须猜测的话,Expiration.GetType必须是System.DateTime类型
添加castCDate(System.Data.SqlTypes.SqlDateTime.MinValue)
试试这个
_Expiration = If(info.GetString("IdentificationType").Trim = "",
CDate(System.Data.SqlTypes.SqlDateTime.MinValue),
info.GetValue("Expiration", Expiration.GetType))
System.Data.SqlTypes.SqlDateTime.MinValue的类型为System.Data.SqlTypes.SqlDateTime 如果必须猜测的话,Expiration.GetType必须是System.DateTime类型 添加castCDate(System.Data.SqlTypes.SqlDateTime.MinValue) 试试这个
_Expiration = If(info.GetString("IdentificationType").Trim = "",
CDate(System.Data.SqlTypes.SqlDateTime.MinValue),
info.GetValue("Expiration", Expiration.GetType))
例外情况是什么?我敢打赌
GetValue
实际上返回的是DateTime
,而不是SqlDateTime
。那么,,你应该调用GetDateTime
而不是GetValue
,你应该使用DateTime.MinValue
或者将SqlDateTime.MinValue
转换成DateTime
。有什么例外吗?我敢打赌GetValue
实际上返回的是DateTime
,而不是SqlDateTime
。在这种情况下,您应该调用GetDateTime
而不是GetValue
,并且应该使用DateTime.MinValue
或者将SqlDateTime.MinValue
转换为DateTime
。
_Expiration = If(info.GetString("IdentificationType").Trim = "",
CDate(System.Data.SqlTypes.SqlDateTime.MinValue),
info.GetValue("Expiration", Expiration.GetType))