程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 三元運算符-條件(三元)運算符效率問題

三元運算符-條件(三元)運算符效率問題

編輯:關於ASP.NET

條件(三元)運算符 (?:)

條件運算符?: 接受三個操作數,是C# 中唯一的三元運算符。

視情況返回以下兩個表達式之一。

test ? expression1 : expression2

test 為 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 : '';

雖然代碼有些長,但效率相對會小點(如果調用的是個占用內存很大的函數,問題就很明顯了)

運算符優先級

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved