【问题标题】:using ternary operator for multiple statement对多条语句使用三元运算符
【发布时间】:2015-08-19 13:59:42
【问题描述】:

谁能帮我为下面的代码编写三元运算符代码

if(s> b) 
{
  minlength = s.length;
  maxlength = b.length;
}
else
{
  minlength = b.length;
  maxlength = s.length;
}

我尝试了以下代码,但它给了我一个错误

 s.Length > B.Length ? ( minlength = B.Length,maxlength = s.Length ) : ( minlength = s.Length, maxlength = B.Length);

当我使用上面的代码时,它给出了一个错误

"只有赋值调用递增递减和新对象表达式 可以作为语句使用”

谁能帮我解决这个问题...

【问题讨论】:

标签: c#-3.0


【解决方案1】:

为什么要这样写:

minlength = (s > b) ?  s.length : b.length;
maxlength = (s > b) ?  b.length : s.length;

【讨论】:

    【解决方案2】:

    你真的需要使用三元运算符吗?我原以为简单的 Math.Min/Max 对任何阅读它的人来说都会更清楚:

    minlength = Math.Min(s.length, b.length);
    maxlength = Math.Max(s.length, b.length);
    

    ...但那只是我:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-23
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多