В C # операция назначения также возвращает значение, которое было присвоено.Например
Value=Value=Value=Value="Hello World"
Действительный код.Назначение получить оценивается сначала справа налево.В вашем случае присваивание> оператор объединения нулей.Вы можете переписать свой код на
string returnValue="";
if(Variable==null)
returnValue=Variable="undefined";
else
returnValue=Variable;
return returnValue;