It is the null coalescing operator. The return value is the left hand side if it is non-null and the right hand side otherwise. It works for both reference types and nullables
var x = "foo" ?? "bar"; // "foo" wins
string y = null;
var z = y ?? "bar"; // "bar" wins
int? n = null;
var t = n ?? 5; // 5 wins