593 Stimmen

Wie konvertiert man C# nullable int in int

Wie konvertiere ich eine nullable int zu einer int ? Angenommen, ich habe 2 Arten von int wie unten:

int? v1;  
int v2; 

Ich möchte zuweisen v1 Wert auf v2 . v2 = v1; wird einen Fehler verursachen. Wie kann ich konvertieren v1 a v2 ?

4 Stimmen

Was ist das gewünschte Verhalten, wenn v1 es null ?

4voto

sagar Punkte 41

Es wird den Wert von v1 a v2 wenn es nicht null ist, andernfalls wird ein Standardwert als Null angenommen.

v2=v1??0

Oder unten ist die andere Schreibweise.

v2 = v1.HasValue?v1:0

2voto

Salahuddin Ahmed Punkte 3622

Dazu kann eine der folgenden Umrechnungsmethoden verwendet werden:

v2 = Convert.ToInt32(v1);

v2 = (int)v1;

v2 = v1.GetValueOrDefault();

v2 = v1.HasValue ? v1:0;

1voto

Do Nhu Vy Punkte 38281

Ich arbeite mit C# 9 und .NET 5, Beispiel

foo ist nullable int, ich brauche den int-Wert von foo

var foo = (context as AccountTransfer).TransferSide;
int value2 = 0;
if (foo != null)
{
    value2 = foo.Value;
}

Siehe mehr unter https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-value-types#examination-of-an-instance-of-a-nullable-value-type

0voto

mohammad qavizi Punkte 64
 int v2= Int32.Parse(v1.ToString());

-2voto

MaheshMorem Punkte 1

Normale TypeConversion löst eine Ausnahme aus

Beispiel:

int y = 5;    
int? x = null;    
y = x.value; //It will throw "Nullable object must have a value"   
Console.WriteLine(y);

Utilice Convert.ToInt32() Methode

int y = 5;    
int? x = null;    
y = x.Convert.ToInt32(x);    
Console.WriteLine(y);

Dies gibt 0 als Ausgabe zurück, da y eine ganze Zahl ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X