如果可以转换为内联?

Possible To Convert To Inline If?

我有这个代码:

if (date.Equals(DateTime.MinValue))
{
    this.textBox.Text = string.Empty;
}
else
{
    if (!myList.Any())
    {
        this.textBox.Text = 
        CheckIfSaturdayOrSunday(date).ToShortDateString();
    }
    else
    {
        this.textBox.Text = CheckMyList(date, 
            myList).ToShortDateString();
    }
}

我想知道是否可以将所有内容合并到嵌套内联中?

如果没有,我就保持原样。

谢谢!

你可以做到这一点。这是可读性和压缩之间的良好平衡。 我不认为嵌套内联 ifs 是个好主意,它很难阅读。

if (date.Equals(DateTime.MinValue))
{
    this.textBox.Text = string.Empty;
}
else
{
    this.textBox.Text = myList.Any() ? 
         CheckMyList(date, myList).ToShortDateString(); :
         CheckIfSaturdayOrSunday(date).ToShortDateString();

}

如果真的需要内联,内联越短越好,不然会很乱。

var text = string.Empty;

if (!date.Equals(DateTime.MinValue))
{
   var dateCheck = myList.Any() ? 
      CheckMyList(date, myList) : CheckIfSaturdayOrSunday(date);

   text = dateCheck.ToShortDateString();
}

this.textBox.Text = text;