将system.guid转换为system.guid?

时间:2014-03-21 04:34:23

标签: asp.net guid

我的代码中有这个声明。

Guid? thisGuid = null;

我也试过了,

Guid? thisGuid = Guid.Empty;

有Guid被引用的部分:

Create(out thisGuid);

另外,其他部分:

this.abd.Fill(a,b, c, ref payGuid);

从Guid转换为Guid?不是通过上述任何一种声明发生的。如果我不给Guid?而Create()方法会抛出错误。

帮助我解决这个问题!

4 个答案:

答案 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;