The PIT
Röster från ITM-koncernen.

Coalesce operator

December 14, 2008 11:50 by Christoffer Munkestam

Upptäckte en lustig sak idag i C# som jag inte visste om sedan tidigare. ??-operatorn som skulle kunna komma till användning när man jobbar med variabler som kan vara null.

Vi tänker oss att vi har en klass som vi inte vill ska kunna returnera null, även fast variablerna kan vara null. Så om variabel A är null så ska den istället returnera variabel B, och om även den är null så ska den returnera -1.

Tidigare så skulle jag har gjort så här:

int? A = null;
int? B = 12;
(Lite kod som gör att resultatet i A och B kan vara vad som heslt..)
if(A != null)
  return A;
if(B != null)
  return B;
return -1;

 

Men ?? kan ge oss en snyggare lösning. Hela return-biten kan bytas ut till det här som ger exakt samma resultat:

return((A ?? B) ?? -1);

Tags:
Categories:
Actions: E-mail | Permalink | Comments (2) | Comment RSSRSS comment feed

Comments