首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 比較運算完整指南:數值、布林、列舉、參考、字串、委派六大型別規則

     編輯:關於C語言

C# 定義六種比較運算子:== != < > <= >=。不同型別體系有獨特的比較語意與規則。

整數與實數:IEEE 754 總序

  • 含 NaN:除 != 回 true 外,所有比較回 false。x < y 與 !(x == y) 在 NaN 時結果不同。
  • 總序關係:-∞ < -Max < ... < -Min < -0.0 == +0.0 < +Min < ... < +Max < +∞
  • 關鍵點:+0.0 == -0.0、-∞ 最小、+∞ 最大。

布林型別:僅 == 與 !=


bool operator ==(bool, bool);
bool operator !=(bool, bool);
// true/false 相等 → true;不同 → false
// != 與 ^ (XOR) 結果相同

列舉型別:比較底層值


bool operator ==(E, E); // 等價 (U)x == (U)y
// 所有六種運算子皆隱含提供

參考型別:參考相等


bool operator ==(object, object);
bool operator !=(object, object);
// 比較記憶體位址,非內容

字串:內容相等(值語意)

  • 兩者皆 null → 相等
  • 長度與字元序列完全相同 → 相等
  • 注意:string == 比較值;object == 比較參考。兩個獨立實例若內容相同,string == 為 true,object == 為 false。

委派型別:雙向比較


bool operator ==(System.Delegate, D);
bool operator ==(D, System.Delegate);
// 比較呼叫清單是否相同
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved