三元运算符的用法
偶然看到自己之前写的代码,懵了一下,复习一下三元运算符。
private float ReturnBig(Vector3 pos,float min)
{
float max = pos.x > pos.y ? pos.x > pos.z ? pos.x : pos.z : pos.y > pos.z ? pos.y : pos.z;
if (max < min)
{
max = min;
};
return max;
}
主要的形式为: (条件语句)?真:假; 一个判断语句比如 a>b?a:b这段代码的意思就是 判断a是否大于b,如果为真取值a,如果条件为假,则取值B;
所以源代码可以看成
x>y?(真)=>x>z?(真)=>X结束一条线。
x>y?(假)=>y>z?(真)=>y结束。
x>y?(假)=>y>z?(假)=>z结束。
额…… 这种鬼写法。