C# 操作符之三元操作符淺析

來源:互聯網
上載者:User

C# 操作符之三元操作符“?:”是什麼呢?

C# 操作符之三元操作符“?:”有時也稱為條件操作符。

對條件運算式b?x:y,先計算條件b,然後進行判斷。

如果b的值為true,計算x的值,運算結果為x的值;否則,計算y,運算結果為y的值。

一個條件運算式從不會又計算x,也計算y。條件操作符是向右關聯的,也就是說,從左向右分組計算。

C# 操作符之三元操作符“?:”操作執行個體:

運算式a?b:c?d:e將按a?b:(C?d:e)形式執行。

?:的第二和第三個運算元控制了條件運算式的類型。設x和y分別是第二個和第三個運算元的類型,那麼:

●如果x和y為同一類型,則該類型即是條件運算式的類型。

●否則,如果從x到y存在一個隱式轉換,但不存在y到x的轉換,那麼y是條件運算式的類型。

●否則,如果從y到x存在一個隱式轉換,但不存在x到y的轉換,那麼x是條件運算式的類型。

●否則,沒有定義任何錶達式類型,發生編譯時間錯誤

C# 操作符之三元操作符“?:”的基本內容就向你介紹到這裡,希望對你瞭解和學習C# 操作符之三元操作符“?:”有所協助。

三元操作符也成為條件操作符,他顯得比較特別,因為有三個運算元,但是他又確實屬於操作符的一種
其形式為
boolean-exp?value0 :value1
如果boolean-exp運算式結果為true,就計算value0,而且這個計算結果也就是操作符最終產生的值。如果boolean-exp運算式結果為false,就計算value1,同樣的,他的結果也將成為操作符最後的值。
當然它也可以被if-else代替,但是三元操作符與if-else是完全不同的,操作符會產生一個值。

複製代碼 代碼如下:public class TernaryIfElse{
static int ternary(int i){
return i<10?i*100:i*10;
}
static int standardIfElse(int i){
if(i<10)
return i*100;
else
return i*10;
}
public static void main(String [] args){
System.out.println(ternary(9));
System.out.println(ternary(10));
System.out.println standardIfElse( (9));
System.out.println standardIfElse( (10));
}
}

輸出
900
100
900
100
相比之下三元運算子要緊湊很多,而if-else更易理解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.