有谁知道如何处理这个错误?
cannot convert from 'System.Guid?' to 'System.Guid'
Run Code Online (Sandbox Code Playgroud)
RCI*_*CIX 42
请参阅MSDN.
在这种情况下,仅仅使用myNullableVariable.Value(如果你确定它有价值),或者(myNullableVariable.HasValue)?myNullableVariable.Value:somedefaulthere如果你不是.
GetValueOrDefault()如果一个人不关心当nullable真的为null时默认值是一个特定值,那么也可以使用.
最后一种方法是:myNullableVariable.Value ?? defaultvalue.
从技术上看,MyType?变量是一个Nullable<MyType>隐蔽的.两者之间没有隐式或显式转换,因此您需要做的是从Nullable手动中提取值.我列出的第三种方式是最简洁(也是最好的)方式,在大多数情况下这可能是最好的.
使用Guid..Value属性转换“ System.Guid?” 到“ System.Guid”。如以下示例
Obj GetValue(Guid yourID)
{
return FetchObject(yourID)
}
Void main()
{
Guid? passvalue;
Obj test = GetValue(passvalue.Value);
}
Run Code Online (Sandbox Code Playgroud)