APR
27

null結合演算子

Published:2009-04-27 10:54:10 UTC

先日のわんくま勉強会でtakeshikさんが使われているのをみて思い出したのですが、null結合演算子なんてものもありましたね。

private RelayCommand _startSearchCommand;

public ICommand StartSearchCommand {
    get {
        if (_startSearchCommand == null) {
            _startSearchCommand = new RelayCommand(param => Model.SearchItemAsync(Keyword, null, 15, 0), null);
        }
        return _startSearchCommand;
    }
}

今までM-V-VMのViewModelでのCommandの定義で、上のように書いていたのを、

public ICommand StartSearchCommand {
    get {
        return _startSearchCommand = _startSearchCommand ?? new RelayCommand(param => Model.SearchItemAsync(Keyword, null, 15, 0), null);
    }
}

こう書き換えられると。便利便利。

(※Reinさんの指摘を受けて修正。有難うございました。)