?: ?? Операторы вместо IF | ELSE

public string Source
{
    get
    {
        /*
        if ( Source == null ){
            return string . Empty;
        } else {
            return Source;
        }
        */
        return Source ?? string.Empty;
    }
    set
    {
        /*
        if ( Source == null ) {
            Source = string . Empty;
        } else {
            if ( Source == value ) {
                Source = Source;
            } else {
                Source = value;
            }
        }
        */
        Source == value ? Source : value ?? string.Empty;
        RaisePropertyChanged ( "Source" );
    }
}

Могу ли я использовать ?: ?? операторы ТОЧНО как If / Else?


Мой вопрос:
Как написать следующее с помощью?: ?? операторы

[1]

if ( Source == null ){
    // Return Nothing
} else {
    return Source;
}

[2]

if ( Source == value ){
    // Do Nothing
} else {
    Source = value;
    RaisePropertyChanged ( "Source" );
} 

Кратко : Как ничего не делать, ничего не возвращать и выполнять несколько инструкций с помощью оператора ?: ?? ?

84
задан Chris Stillwell 7 June 2016 в 18:41
поделиться