使用三元运算符进行多语句

时间:2015-08-19 05:48:27

标签: c#-3.0

任何人都可以帮我编写以下代码的三元运算符代码

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);

当我使用上面的代码时,它会出错

  

"只有赋值调用增量递减和新对象表达式   可以用作声明"

任何人都可以帮我解决这个问题......

2 个答案:

答案 0 :(得分:1)

为什么要这样写:

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

答案 1 :(得分:0)

您真的需要使用三元运算符吗?我原以为一个简单的Math.Min / Max对于读它的人来说会更清楚:

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

......但那只是我: - )