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

♀尐吖头ヾ 提交于 2019-12-18 18:47:12

问题


Does anyone know how to deal with this error?

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

回答1:


See MSDN.

In that case, merely use myNullableVariable.Value (if you're sure it has a value), or (myNullableVariable.HasValue)?myNullableVariable.Value:somedefaulthere if you're not.

One can also use GetValueOrDefault() if one doesn't care if the default is a specific value when the nullable really is null.

The last way to do it is this: myNullableVariable.Value ?? defaultvalue.

See, technically a MyType? variable is a Nullable<MyType> under the covers. There are no implicit or explicit casts between the two, so what you need to do is extract the value out of the Nullable manually. The third way i listed is the most succinct (and best?) way to do it, to that would probably be best in most cases.




回答2:


Use Guid?.Value property to convert 'System.Guid?' to 'System.Guid'. as following example

 Obj GetValue(Guid yourID)
{
return FetchObject(yourID)
}
Void main()
{
Guid? passvalue;
Obj test = GetValue(passvalue.Value);
}



回答3:


First intialize the guid variable.

Guid yourGuid= Guid.NewGuid()

then set value in that which you want for eg:

 Guid defaultId = Guid.NewGuid();
 if (customerRow.GuardianState.Length > 2) {
 Guid StateId = record.StateId ?? defaultId;}



回答4:


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

you are trying to save type System.Guid? to a type system.Guid inside your model you can edit System.Guid? to System.Guid by removing the question mark.

or RCIX answer above



来源:https://stackoverflow.com/questions/1988415/cannot-convert-from-system-guid-to-system-guid

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!