Ternary if
Ibland är ett villkor så enkelt att en hel if/else-sats känns som overkill. Ternary-operatorn låter dig skriva det på en rad.
condition ? value_if_true : value_if_falseNär du läst detta ska du kunna
- Använda ternary-operatorn för enkel tilldelning
- Avgöra när ternary är lämplig och när
if/elseär bättre
Grundexempel
int age = 20;string message = age >= 18 ? "Myndig" : "Inte myndig";Console.WriteLine(message); // MyndigUtan ternary:
string message;if (age >= 18) message = "Myndig";else message = "Inte myndig";Samma resultat, men ternary sparar fyra rader.
Fler exempel
bool hasDriversLicence = true;string status = hasDriversLicence ? "Får köra" : "Får inte köra";Console.WriteLine(status);int score = 72;string grade = score >= 70 ? "G" : "IG";Console.WriteLine(grade); // GI interpolerade strängar
Ternary fungerar bra inuti $"...":
int count = 1;Console.WriteLine($"Du har {count} {(count == 1 ? "message" : "messages")}");// Du har 1 meddelandeNär du INTE ska använda ternary
Ternary är tydlig när logiken är enkel. Nästlad ternary är alltid fel val — använd if/else eller switch istället.
// Dåligt — omöjligt att läsastring result = x > 10 ? "stort" : x > 5 ? "medel" : "litet";
// Bra — tydligtstring result;if (x > 10) result = "stort";else if (x > 5) result = "medel";else result = "litet";TL;DR
condition ? true : false — ternary-operatorn. Bra för enkel tilldelning på en rad. Dålig för komplex logik. Nästla aldrig.