Qualcuno sa come gestire questo errore?non può convertire da 'System.Guid?' a 'System.Guid'
cannot convert from 'System.Guid?' to 'System.Guid'
Qualcuno sa come gestire questo errore?non può convertire da 'System.Guid?' a 'System.Guid'
cannot convert from 'System.Guid?' to 'System.Guid'
Vedere MSDN.
In tal caso, utilizzare semplicemente myNullableVariable.Value
(se si è sicuri che abbia un valore) o (myNullableVariable.HasValue)?myNullableVariable.Value:somedefaulthere
in caso contrario.
Si può anche usare GetValueOrDefault()
se non si cura se il valore predefinito è un valore specifico quando il nullable è veramente nullo.
L'ultimo modo per farlo è questo: myNullableVariable.Value ?? defaultvalue
.
Vedere, tecnicamente una variabile MyType?
è una Nullable<MyType>
sotto le coperture. Non ci sono cast impliciti o espliciti tra i due, quindi quello che devi fare è estrarre il valore dal Nullable
manualmente. Il terzo modo che ho elencato è il modo più succinto (e migliore?) Per farlo, probabilmente sarebbe il migliore nella maggior parte dei casi.
Prima inizializzare la variabile guid.
Guid yourGuid= Guid.NewGuid()
valore quindi impostare in ciò che si desidera per esempio:? '? System.Guid'
Guid defaultId = Guid.NewGuid();
if (customerRow.GuardianState.Length > 2) {
Guid StateId = record.StateId ?? defaultId;}
Usa Guid proprietà .Value per convertire a "System.Guid". come nell'esempio seguente
Obj GetValue(Guid yourID)
{
return FetchObject(yourID)
}
Void main()
{
Guid? passvalue;
Obj test = GetValue(passvalue.Value);
}
non può convertire da 'System.Guid?' a 'System.Guid'
si sta tentando di salvare il tipo System.Guid? a un sistema di tipo.Guido all'interno del tuo modello puoi modificare System.Guid? a System.Guid rimuovendo il punto interrogativo.
o RCIX risposta di cui sopra
La risposta è stata accettata 7 anni fa, quale nuovo valore porta? –
Grazie per la risposta, ma si potrebbe spiegare un po 'di più? – Dooie
Questo aiuto? – RCIX
Ok, ho capito ora ... grazie :) – Dooie