首页 / 网页编程 / ASP.NET / 三元运算符-条件(三元)运算符效率问题
三元运算符-条件(三元)运算符效率问题2011-07-26网魂工作室条件(三元)运算符 (?:)条件运算符?: 接受三个操作数,是C# 中唯一的三元运算符。视情况返回以下两个表达式之一。test ? expression1 : expression2test 为 true 时返回的表达式expression1 。可能是逗点表达式。test 为 false 时返回的表达式expression2 。可能是逗点表达式。?: 运算符可以用作 if...else 语句的快捷方式。条件运算符(三元运算符)效率问题先来看这段代码:$name = GET("name") != null ? GET("name") : "";
function GET($key)
{
if (isset($_GET[$key]))
{
$fp = fopen("c.txt","a");
fwrite($fp, "1-");
fclose($fp);
return $_GET[$key];
}
return null;
}运行后,发现c.txt文件中内容为 1-1-显然,GET函数执行了两次。以后还是以这种形式:$name = GET("name");
$name = $name != null ? $name : ""; 虽然代码有些长,但效率相对会小点(如果调用的是个占用内存很大的函数,问题就很明显了)运算符优先级