我的代码中有这个声明。
Guid? thisGuid = null;
我也试过了,
Guid? thisGuid = Guid.Empty;
有Guid被引用的部分:
Create(out thisGuid);
另外,其他部分:
this.abd.Fill(a,b, c, ref payGuid);
从Guid转换为Guid?不是通过上述任何一种声明发生的。如果我不给Guid?而Create()方法会抛出错误。
帮助我解决这个问题!
答案 0 :(得分:0)
您不能将可空类型传递给不接受可空类型的方法(反之亦然)。我假设您展示的两种方法都将Guid
作为参数(因为您没有告诉我们)。如果您想将该值放在Guid?
中,则必须复制它:
Guid thisGuid;
Create(out thisGuid);
// If you still want to put it in a Guid?
Guid? nullableGuid = thisGuid;
答案 1 :(得分:0)
你可以像这样转换。
Guid? nullableId=(Guid?)YourGuid;
答案 2 :(得分:0)
如果您确定它不会是 null
,那么您可以使用:
thisGuid.value
答案 3 :(得分:-1)
从Guid转换为Guid?现在将发生。请试试这段代码。 感谢。
Guid PureGuidId = Guid.Empty;
Guid? AllowNullableGuidID = (Guid?)PureGuidId;