有人知道如何处理此错误吗?

cannot convert from 'System.Guid?' to 'System.Guid'

最佳答案

参见MSDN

在这种情况下,仅使用myNullableVariable.Value(如果您确定它具有值),否则使用(myNullableVariable.HasValue)?myNullableVariable.Value:somedefaulthere(如果没有)。

如果可以忽略的话,也可以使用GetValueOrDefault(),如果默认值是可空值确实为null时的默认值。

最后一种方法是:myNullableVariable.Value ?? defaultvalue

从技术上讲,MyType?变量是幕后的Nullable<MyType>。两者之间没有隐式或显式强制转换,因此您需要手动从Nullable中提取值。我列出的第三种方法是最简洁(也是最好的方法),在大多数情况下这可能是最好的方法。

09-11 20:17