我发现在验证以下内容时遇到了困难
if(personDS.person[0].IdFk!= DBNull.Value)
这是编译时错误 - 无法应用于' System.Guid和' System.Dbnull'
类型的操作数答案 0 :(得分:4)
我认为你应该检查:
if(personDS.person[0].IsIdFkNull())
答案 1 :(得分:0)
你也可以检查一个空的Guid
if (personDS.person[0].IdFk == Guid.Empty )
答案 2 :(得分:0)
尝试
if(!(personDS.person[0].IdFk is System.DBNull))
答案 3 :(得分:0)
Id是一个Guid,它是一种Value类型,因此永远不会等于DBNull.Value。在我完全帮助之前,我需要知道personDS
(DataSet可能?)和person
(也许是DataTable)的类型。假设如此,那么也许:
if (!personDS.person[0].IsNull("IdFK"))
如果person
不是DataTable而是类,则检查IdFk == Guid.Empty
,如果IdFk
是Guid,还是IdFk == null
如果IdFk
是{ {1}}。
答案 4 :(得分:0)
IdFk是否可以为空? Es:
public Guid? Idfk
如果是这样,你可以:
if(personDS.person[0].IdFk.HasValue)