條件運算子 條件運算子怎麼用
- 綜合知識
- 關注:1.33W次
? :。
條件運算子(?:)可以實現 if else 的功能,其一般形式為:exp1 ? exp2 : exp3。
這個條件表示式的意思是,如果 exp1 為真,則運算 exp2,整個條件表示式的值為 exp2 的值;反之,則運算 exp3,整個條件表示式的值為 exp3 的值。
擴充套件資料:
條件運算子優先順序高於賦值、逗號運算子,低於其他運算子。例如:
⑴ m<n ? x : a+3
等價於:(m<n) ?(x) :(a+3)
⑵ a++>=10 && b-->20 ? a : b
等價於:(a++>=10 && b-->20) ? a : b
⑶ x=3+a>5 ? 100 : 200
等價於:x= (( 3+a>5 ) ? 100 : 200 )
參考資料:搜狗百科---條件運算子
2.c#中 條件運算子的用法預設情況下,int型別的變數是值型別,不能賦值null.以下是zhidao解釋
為了實現Nullable資料型別轉換成non-Nullable型資料,就有了一個這樣的操作符”??(兩個問號)“,雙問號操作符意思是取所賦值??左邊的,如果左邊為null,取所賦值??右邊的,比如int y = x ?? -1 如果x為空,那麼y的值為-1.
於是這時候就可以把最上面第二段程式碼改成:回
string strParam= Request.Params["param"]?? "";
另外還有”?(單問號)“修飾符,是System.Nullable<T>;的縮寫形式,比如int?代表是可空的整形,例如:int? a = 1 或者 int? b=null。Nullable型別具有一個答HasValue的bool型別只讀屬性,當Nullable型別例項的該屬性為true時,則表示該例項是非空例項,包含一個已知值Value,HasValue為false時,訪問Value屬性將導致System.。
3.c語言中,條件運算子是怎樣的法則c語言中,條件運算子的法則:
由高到低是:!(非),&&(與),||(或)
&&左邊為0則不看右邊運算,||左邊為1不看右邊!
例:
main()
{
int a=1,b=2,c=3,d;
d=!b>a&&c||c>2
printf("a=%dn b=%dn c=%dn d=%dn",a,b,c,d);
}
執行結果:a=1
b=0
c=3
d=1
程式執行說明:先執行!b>a即0>a,結果為0(b=0)
再執行0&&c結果為0,執行c>2結果為1
0||1結果為1
因為執行順序為右結合,所以將整個表示式的結果給 d為1
}
條件運算子:
(表示式1)?(表示式2):(表示式3)
運算規劃:如果表示式1為真,返回表示式2的結果,否則返回表示式3的結果
例如:
A=1,B=2
(A>B)?A:B
返回值為2
注意表示式是右結合的.
例:
A=1,B=2,C=3
(A>B)?A:B?C:B
相當於(A>B)?A:(B?C:B)
返回值為3
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/xzmwo3.html