清除为可空布尔值编写代码的方法

Ron*_*ald 1 c# asp.net nullable

是否有更简洁的方法来编写此代码.我感觉可能有,但我不知道如何.

    if (loadedFormData.Education.AwardedADegree==true)
    {
        this.radiobuttonNoAwarded.Checked = false;
        this.radiobuttonYesAwarded.Checked = true;
    }
    if (loadedFormData.Education.AwardedADegree == false)
    {
        this.radiobuttonNoAwarded.Checked = true;
        this.radiobuttonYesAwarded.Checked = false;
    }
    else // AwardedADegree is null
    {
        this.radiobuttonNoAwarded.Checked = false;
        this.radiobuttonYesAwarded.Checked = false;

    }
Run Code Online (Sandbox Code Playgroud)

Rot*_*tem 11

问一个问题"我radiobutton应该什么时候检查",而不是"当我的数据为真/假/空时会发生什么".

this.radiobuttonNoAwarded.Checked = loadedFormData.Education.AwardedADegree == false;
this.radiobuttonYesAwarded.Checked =  loadedFormData.Education.AwardedADegree == true;
Run Code Online (Sandbox Code Playgroud)


Eri*_*ips 5

我假设bool?允许该值为null.

this.radiobuttonNoAwarded.Checked = AwardedADegree.HasValue && AwardedADegree.Value;
this.radiobuttonYesAwarded.Checked = AwardedADegree.HasValue && !AwardedADegree.Value;
Run Code Online (Sandbox Code Playgroud)