用 ? 显示三个数中最大数的方法操作员
Method for displaying the largest of three numbers with the ? operator
我一直在尝试定义一种方法,该方法应该将三个 int 数字中最大的一个存储在一个变量中,然后 return 该值。
我是这样尝试的:
public static int Max(int a, int b, int c)
{
int iResult = 0;
a > b && a > c ? iResult = a : b > a && b > c ? iResult = b : iResult = c;
return(iResult);
}
如果有人能告诉我为什么是“?”,那就太好了。运算符不起作用:)
iResult = a > b && a > c ? a : b > a && b > c ? b : c;
这东西应该有用。但为了更好地理解,您应该使用大括号。
? :
- 三元运算符 - 得到 3 个参数和 returns 个结果
iResult = condition ? onTrue : onFalse;
在我们的例子中,我们必须结合两个个三元运算符:
iResult = condition1 ? onTrue1
: condition2 ? onTrue2
: onFalse1and2;
可以(请不要忘记格式化,让代码保持可读)
iResult = a > b && a > c ? a
: b > a && b > c ? b
: c;
或者我们可以去掉iResult
,把它压缩成
public static int Max(int a, int b, int c) =>
a > b && a > c ? a
: b > a && b > c ? b
: c;
我一直在尝试定义一种方法,该方法应该将三个 int 数字中最大的一个存储在一个变量中,然后 return 该值。
我是这样尝试的:
public static int Max(int a, int b, int c)
{
int iResult = 0;
a > b && a > c ? iResult = a : b > a && b > c ? iResult = b : iResult = c;
return(iResult);
}
如果有人能告诉我为什么是“?”,那就太好了。运算符不起作用:)
iResult = a > b && a > c ? a : b > a && b > c ? b : c;
这东西应该有用。但为了更好地理解,您应该使用大括号。
? :
- 三元运算符 - 得到 3 个参数和 returns 个结果
iResult = condition ? onTrue : onFalse;
在我们的例子中,我们必须结合两个个三元运算符:
iResult = condition1 ? onTrue1
: condition2 ? onTrue2
: onFalse1and2;
可以(请不要忘记格式化,让代码保持可读)
iResult = a > b && a > c ? a
: b > a && b > c ? b
: c;
或者我们可以去掉iResult
,把它压缩成
public static int Max(int a, int b, int c) =>
a > b && a > c ? a
: b > a && b > c ? b
: c;