程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#的比較運算

C#的比較運算

編輯:關於C語言

C#中定義的比較操作符有:

●==等於

●!=不等於

●<小於

●>大於

●<=小於或等於

●>=大於或等於

整數與實數

對於整數類型和實數類型,這六種比較操作符都可以適用。根據IEEE 754標准,比較運算符符合下面的規則:

●如果有一個操作數為NaN(空)那麼除“!=”之外所有操作符結果為false,“!=”的運算結果為“true”。對於任何兩個操作數“x!=y”部等價於“!(x==y)”。可是當一個或兩個操作數為NaN(空)時,“<,>,<=,”和“>=”操作符的結果和其相反操作符的邏輯非的結果是不同的。如,x或y為NaN,則x<y總是false的,但是!(x==y)為true。

●兩個操作數不是NaN時,操作符根據下列順序:

-∞<-max<...<-min<-0.0==+0.0<+min<...<+max<+∞

(其中min和max分別是指浮點格式所能表示的最小和最大的有限值)。

注意:在C#中:

●正零和負零被認為是相等的。

●負無窮被認為小於其它任何值,只是等於另一個負無窮。

●正無窮被認為大於其它任何值,只是等於另一個正無窮。

布爾類型

對於布爾類型的比較操作符實際上只有兩種:

bool Operator==(bool x,bool y);

bool Operator!=(bool x,bool y);

如果x和y都為true或false,則“==”的結果為true,否則為false。

相反的,如果x和y都為true或false,則“!=”的結果為false,否則結果為true。當操作數為bool類型時,“!=”操作符和^操作符有相等的結果。

枚舉類型

每一種枚舉類型隱式地提供下列預比較操作符。

bool Operator==(E x,E y);

bool Operator!=(E x,E y);

bool Operator<(E x,E y);

bool Operator>(E x,E y);

bool Operator<=(E x,E y);

bool Operator>=(E x,E y);

執行“x op y”的結果,這裡x和y是一個枚舉類型E,其基類為U的表達式,op表示比較操作符,其等價於((U)x) op ((U)y),即枚舉類型比較操作符簡單地比較兩個操作數的基類型值。

引用類型

預定義引用類型等價操作符有:

bool Operator==(object x,object y);

bool Operator!=(object x,object y);

該操作符返回兩個引用類型是否等價的結果。

字符串

預定義字符串等價操作符有:

bool Operator==(string x,string y);

bool Operator!=(string x,string y);

下列條件之一成立則認為兩個字符串值相等:

●兩個字符串值都為null;

●兩個字符串是字符串長度相同、對應的字符序列也相同的非空字符串。

注意:字符串等價操作符比較的是兩個字符串的值,而不是字符串引用。當兩個單獨的字符串實例含有相同的字符串序列,則認為這兩個字符串的值相等。引用類型等價操作符可以用於比較兩個字符串引用,不是比較兩個字符串的值。

代表類型

每一個代表類型隱式地提供下列預定義比較操作符:

bool Operator==(System.Delegate x,D y);

bool Operator==(D x,System.Delegate y);

bool Operator!=(System.Delegate x,D y);

bool Operator!=(D x,System.Delegate y);

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