在寻找最聪明的,最有效,最可读的方式的小做以下最聪明的办法:什么是找到更大的/两数
int one = 1, two = 2;
int larger = one < two?two:one;
我喜欢(或下面的一个可变参数版本):
int largest(one,two){return one<two?two:one;}
int larger = largest(one,two);
但是飞镖没有内联或宏。
随着列表:
var nums = [51,4,6,8];
nums.sort();
in largest = nums.last
或(谢谢你,君特Zöchbauer):
print([1,2,8,6].reduce(max));
使用数学库:
import 'dart:math';
int largest = max(21,56);
也许是最好的,但如何有效的是与第一种方法相比,最大?
为什么这个问题?
在第一种方法中,我必须检查比较是否适合每个人;有时候有数百人。第二个,只有一个函数可以验证,但有数百个函数调用。
参见HTTP ://stackoverflow.com/questions/20490868/dart-list-min-max-value/20490970#20490970 –