Kategorien
Nur mal so

?? Operator in C Sharp (C#)

Man lernt wirklich nie aus. Da existiert dieser Schlingel schon seit .Net 2.0 und erst jetzt entdecke ich den nützlichen „??“ Operator (Null Coalesce Operator) in C Sharp.

Um immer einen Defaultwert zu haben (z.B. wenn das Objekt aus einer Datenbank kommt), kann man statt:
[code language=csharp]
myobject = whatever.GetMyObject(x);
if(myobject == null) myobject = new MyObject();
[/code]

auch:
[code language=csharp]
myobject = whatever.GetMyObject(x) ?? new MyObject();
[/code]

schreiben.

Der Operator sorgt quasi dafür, dass das erste Nicht-Null-Objekt zurückgegeben wird. Gut zu wissen :-)

Siehe auch: MSDN Artikel dazu