自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#運算符重載“>”的操作淺析

開發(fā) 后端
C#運算符重載“>”的操作在本文通過一個實例的講解來說明“>”的使用細節(jié)。

C#運算符重載“>”的操作問題的出現(xiàn):今天一個同學在做ProjectHoshimi的時候,自己在封裝一個對象庫。

希望使用C#運算符重載>的操作,語法正確,但是總是不能成功。

按照MSDN C# Keyword opeartor定義可以有下面的語法構成

  1. public static result-type operator unary-operator ( op-type operand )  
  2. public static result-type operator binary-operator (       
  3.  op-type operand,      
  4.   op-type2 operand2  
  5. )  
  6. public static implicit operator conv-type-out ( conv-type-in operand   
  7. )  
  8. public static explicit operator conv-type-out (   
  9. conv-type-in operand   

那么下面代碼就是正確的

  1.   class A    {   
  2.      private int a;     
  3.    public static bool operator>(A a,A b){   
  4.          return a.a > b.a;  
  5.        }        
  6. public A(int value)        {    
  7.         a = value;       
  8.  }    

C#運算符重載“>”的操作問題再次提出:為什么不能成功編譯呢?因為>運算符在.NET Framework中不允許但對出現(xiàn),如下代碼就是正確的。

  1.  class A    {   
  2.     private int a;    
  3.    public static bool operator>(A a,A b){     
  4.       return a.a > b.a;    
  5.     }       
  6. public static bool operator <(A a, A b)        {           
  7. return a.a < b.a;      
  8.   }       
  9. public A(int value)        {    
  10.        a = value;     
  11.   }    

為什么需要這樣做呢?

其實我覺得這個就是C#在設計上面默認了一些讓系統(tǒng)編碼更安全的一些約束。如果沒有這樣的約束,那么可能是>重載了,但是<沒有重載,但是如果有人使用將會發(fā)現(xiàn)很未知的錯誤。

C#運算符重載“>”的操作的基本情況就向你介紹到這里,希望對你了解C#運算符重載“>”的操作有所幫助。

【編輯推薦】

  1. C#運算符重載實例淺析
  2. C#運算符重載概念及應用詳解
  3. C#運算符重載實現(xiàn)復數(shù)運算
  4. C#運算符重載實例解析
  5. C#運算符重載的一些總結
責任編輯:仲衡 來源: cnblogs
相關推薦

2009-08-12 10:27:12

C#運算符重載運算符重載實例

2009-08-12 09:30:10

C#??運算符

2009-08-11 15:51:08

C#運算符算術運算符

2009-08-12 10:47:03

C#運算符重載

2009-09-04 13:18:10

C#允許運算符重載

2009-08-12 10:56:47

C#運算符重載C#運算符重載實例

2009-08-14 10:16:57

C#運算符重載

2009-08-11 16:03:13

C#運算符

2009-08-12 10:37:13

C#運算符重載

2009-08-12 11:20:51

C#運算符重載

2009-08-18 17:42:12

C#操作符重載

2009-08-12 10:20:52

C#位運算符

2009-08-12 15:02:49

C#賦值運算符簡單賦值運算符

2009-08-12 15:20:18

C#賦值運算符復合賦值運算符

2009-11-06 13:57:52

C#

2009-08-12 14:49:33

C#移位運算符

2009-08-11 14:16:38

C# New運算符

2009-09-01 10:08:57

C#運算符

2009-08-12 13:35:22

C#關系運算符

2009-08-12 14:29:32

C#條件運算符
點贊
收藏

51CTO技術棧公眾號