如果属性不存在,如何将可空的Guid初始化为 null ?
类似的东西:
this.SessionId = metadata.Root.Attribute("SessionId") == null ? null : new Guid(metadata.Root.Attribute("SessionId").Value);
使用此代码我有这个错误:
type of conditional expression cannot be determined because there is no implicit conversion between '<null>' and 'System.Guid'
最好的方法是什么?
答案 0 :(得分:3)
您可以明确地将null
强制转换为Guid?
以帮助编译器:
this.SessionId = metadata.Root.Attribute("SessionId") == null ? (Guid?)null : new Guid(metadata.Root.Attribute("SessionId").Value);
答案 1 :(得分:0)
(object)DBNull.Value
应该这样做
this.SessionId = metadata.Root.Attribute("SessionId")== null ? (object)DBNull.Value : Guid(metadata.Root.Attribute("SessionId").Value)