2015-08-19 3 views
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); 

, когда я использую приведенный выше код дает ошибку

«только уменьшение приращения вызова вызова назначения и новые выражения объекта могут быть использованы в качестве заявления»

Может кто-нибудь помочь мне решить эту проблему ...

+0

Посмотрите на: HTTP: // StackOverflow. com/questions/7114443/is-there-idiomatic-c-sharp-analog-to-cs-comma-operator И зачем вам нужен такой уродливый код? –

ответ

1

почему просто написать его таким образом:

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

действительно ли вы должны использовать тернарный оператор? Я бы подумал, что простой Math.min/Макс будет понятнее для тех, кто читает его:

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

... но это только мне :-)

Смежные вопросы