How to change what default(T) returns in C#?
I would like to change how default(T) behaves for certain classes. So instead of returning null for my reference types I would like to return a null object. Kind of like kids.Clear(); var kid = kids.Where(k => k.Age < 10).SingleOrDefault(); if (kid is NullKid) { Console.Out.WriteLine("Jippeie"); } Anyone know if this is at all possible? Anyone know if this is at all possible? It is simply not possible at all. But maybe you want to use DefaultIfEmpty instead: kids.Clear(); var kid = kids.Where(k => k.Age < 10).DefaultIfEmpty(NullKid).Single(); if (kid == NullKid) { Console.Out.WriteLine(