2011-02-02 9 views
0

Есть ли что-нибудь в C#, что позволит вам сделать что-то такое, какОбъединение коалесценции более одного раза?

string str = nullval1 ?? nullval2 ?? nullval3 ?? "Hi"; 

и он будет идти слева направо, собирание первый, который не является нулевым?

Если этот оператор этого не делает, есть ли альтернатива для предоставления аналогичной функции с минимальным кодом?

+1

Он делает то, что вы хотите. – Gabe

+0

, который потребовался бы всего минуту, чтобы опробовать. – BrokenGlass

+0

@BrokenGlass: кодирование без какого-либо способа построения atm, поэтому я пытаюсь проверить мой синтаксис, прежде чем я сделаю это несколько раз. – caesay

ответ

5

Это работает абсолютно нормально как есть. Образец кода:

using System; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     string x = null; 
     string y = "y"; 
     string z = "z"; 

     Console.WriteLine(x ?? y ?? z); // Prints "y" 
    } 
} 
+0

действительно? Это интересно, я никогда не видел никаких примеров этого .. нигде. – caesay

+2

@Tommy: Всегда есть ваш дружественный компилятор окрестностей! : D – BoltClock

+0

@BoltClock: кодирование без какого-либо способа построения atm, поэтому я пытаюсь проверить мой синтаксис, прежде чем я сделаю это несколько раз. – caesay

Смежные вопросы