Почему не удается присвоить значение null в тернарном операторе: нет неявного преобразования между null и int?

Это не удается с Неявное преобразование между 'null' и 'int'

long? myVar = Int64.Parse( myOtherVar) == 0 ? null : Int64.Parse( myOtherVar);

Однако это удается:

if( Int64.Parse( myOtherVar) == 0)
    myVar = null;
else
    myVar = Int64.Parse( myOtherVar);

Есть ли способ добиться успеха тернарного оператора?

11
задан jason 26 July 2013 в 02:09
поделиться