Кто-нибудь знает, как справиться с этой ошибкой?
cannot convert from 'System.Guid?' to 'System.Guid'
Кто-нибудь знает, как справиться с этой ошибкой?
cannot convert from 'System.Guid?' to 'System.Guid'
См. MSDN.
В этом случае просто используйте myNullableVariable.Value
(если вы уверены, что оно имеет значение) или (myNullableVariable.HasValue)?myNullableVariable.Value:somedefaulthere
, если вы этого не сделали.
Можно также использовать GetValueOrDefault()
, если неважно, является ли значение по умолчанию конкретным значением, когда значение nullable действительно равно null.
Последний способ сделать это: myNullableVariable.Value ?? defaultvalue
.
См. технически переменная MyType?
является Nullable<MyType>
под обложками. Между ними нет неявных или явных отбросов, поэтому вам нужно извлечь значение из Nullable
вручную. Третий способ, который я перечислял, является наиболее кратким (и лучшим?) Способом сделать это, что, вероятно, будет лучше всего в большинстве случаев.
Использовать свойство Guid?.Value для преобразования 'System.Guid?' to 'System.Guid'. в следующем примере
Obj GetValue(Guid yourID)
{
return FetchObject(yourID)
}
Void main()
{
Guid? passvalue;
Obj test = GetValue(passvalue.Value);
}
Сначала проинтегрируйте переменную guid.
Guid yourGuid= Guid.NewGuid()
затем установите значение в том, что вы хотите, например:
Guid defaultId = Guid.NewGuid();
if (customerRow.GuardianState.Length > 2) {
Guid StateId = record.StateId ?? defaultId;}
не может конвертировать из 'System.Guid?' to 'System.Guid'
вы пытаетесь сохранить тип System.Guid? к типу system.Guid внутри вашей модели вы можете редактировать System.Guid? на System.Guid, удалив вопросительный знак.
или Ответ RCIX выше