C# 如果可以,是否可以转换为内联?

C# 如果可以,是否可以转换为内联?,c#,if-statement,conditional-operator,C#,If Statement,Conditional Operator,我有以下代码: if (date.Equals(DateTime.MinValue)) { this.textBox.Text = string.Empty; } else { if (!myList.Any()) { this.textBox.Text = CheckIfSaturdayOrSunday(date).ToShortDateString(); } else { this.textBo

我有以下代码:

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();
    }
}
我想知道是否有可能将所有这些整合到一个嵌套的内联if中

如果没有,我就照原样保存


谢谢

你可以这样做。这是可读性和压缩性之间的良好平衡。 我不认为嵌套内嵌ifs是一个好主意,它会使阅读变得困难

if (date.Equals(DateTime.MinValue))
{
    this.textBox.Text = string.Empty;
}
else
{
    this.textBox.Text = myList.Any() ? 
         CheckMyList(date, myList).ToShortDateString(); :
         CheckIfSaturdayOrSunday(date).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;

如果您真的需要内联,请将内联尽可能短,否则会变得一团糟

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;

你可以,但是为什么?它的可读性可能要差得多。
checkifsaturday或sunday
返回的是
DateTime
,而不是
bool
?奇怪的是,我理解这种格式更具可读性,但我知道在经过代码审查后,我很可能会被要求将其转换为内联if。然后,你的工作就是说明为什么不应该内联。我还想问,什么样的审查者会要求首先内联它。你可以,但为什么?它的可读性可能要差得多。
checkifsaturday或sunday
返回的是
DateTime
,而不是
bool
?奇怪的是,我知道这种格式更具可读性,但我知道经过代码审查后,我很可能会被要求将其转换为内联if。然后你的工作就是说明为什么它不应该内联。我还想问,什么样的评论者会要求首先内联。我会说这更糟糕,因为你现在在混合方法。我会说这更糟糕,因为你现在在混合方法。是的,我喜欢这样,我喜欢这个