成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#運算符重載實例淺析

開發 后端
C#運算符重載實例向你介紹了在實際操作中C#運算符重載的實例應用情況。

C#運算符重載實例是掌握C#運算符重載的有效方法,那么就讓我們通過一個實際的例子來介紹。其中重載==,!=,Equal,GetHashCode函數。

  1. public class Record   
  2. {   
  3.  
  4. public string[] arr = null;   
  5. public bool hasEqual = false;   
  6. //重載一個下標運算符號   
  7. public string this[int index]   
  8. {   
  9. get   
  10. {   
  11. return arr[index];   
  12. }   
  13. set   
  14. {   
  15. arr[index] = value;   
  16. }   
  17. }   
  18. public override int GetHashCode()   
  19. {   
  20.  
  21. //在這里使用字符串數組的hashcode,避免自己完成一個算法   
  22.  
  23. return arr.GetHashCode();   
  24. }   
  25. public Record(int count)   
  26. {   
  27. if (count < 1)   
  28. {   
  29. throw new Exception("數組的長度不能小于1");   
  30. }   
  31. arr = new string[count];   
  32. }   
  33. public static bool operator ==(Record rec1, Record rec2)   
  34. {   
  35.  
  36. //注意我們調用Equals來判斷是否相等。而不是在自己的函數中判斷。
  37. //這是因為如果在自己的函數中判斷。
  38. //比如有rec2=null的情況。如果是這種情況。我們要判斷if(rec2==null){…}。
  39. //其中rec2==null也是調用一個等號運算符,這里面有一個遞歸的過程,造成了死循環。   
  40.  
  41. return Object.Equals(rec1, rec2);   
  42. }   
  43. public static bool operator !=(Record rec1, Record rec2)   
  44. {   
  45. return !Object.Equals(rec1, rec2);   
  46. }   
  47. public override bool Equals(object obj)   
  48. {   
  49. //判斷與之比較的類型是否為null。這樣不會造成遞歸的情況   
  50. if (obj == null)   
  51. return false;   
  52. if (GetType() != obj.GetType())   
  53. return false;   
  54. Record rec = (Record)obj;   
  55. int count = rec.arr.Length;   
  56. for (int i = 0; i < count; i++)   
  57. {   
  58. if (this.arr[i] != rec.arr[i])   
  59. {   
  60. return false;   
  61. }   
  62. }   
  63. return true;   
  64. }   

C#運算符重載實例的基本情況就向你介紹到這里,希望對你有所幫助。

【編輯推薦】

  1. C#算法一道面試題的程序實現
  2. C#運算符之算術運算符淺析
  3. C#運算符之??淺析
  4. C#運算符種類簡析
  5. C#位運算符種類及使用淺析
責任編輯:仲衡 來源: 中國自學編程網
相關推薦

2009-08-12 10:56:47

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

2009-08-12 12:46:11

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-14 10:16:57

C#運算符重載

2009-08-11 16:03:13

C#運算符

2009-08-18 17:42:12

C#操作符重載

2009-08-12 10:37:13

C#運算符重載

2009-08-12 10:20:52

C#位運算符

2009-08-12 11:20:51

C#運算符重載

2009-08-12 15:02:49

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

2009-08-12 15:20:18

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

2009-08-11 14:16:38

C# New運算符

2009-08-12 13:35:22

C#關系運算符

2009-09-01 10:08:57

C#運算符

2009-08-12 14:29:32

C#條件運算符

2009-08-12 14:49:33

C#移位運算符

2021-12-15 10:25:57

C++運算符重載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费看91| 国产精品免费一区二区三区四区 | 亚洲不卡在线观看 | 男人久久天堂 | 91精品国产综合久久久久久漫画 | 欧美久 | 在线观看日韩精品视频 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 红色av社区 | 亚洲综合免费 | 日韩一二三区 | 日韩视频在线播放 | 91一区二区三区 | 中文字幕第5页 | 亚洲国产精品一区二区第一页 | www.久久国产精品 | 国产资源在线观看 | 亚洲精品在线国产 | 久久免费国产 | 人人草人人干 | 欧美bondage紧缚视频 | 免费一区| 成人三级av | 国产高清一区二区三区 | 国产农村妇女毛片精品久久麻豆 | 五月激情婷婷网 | 91精品国产欧美一区二区成人 | 成人精品福利 | 免费福利视频一区二区三区 | 亚洲精品欧美 | 中文字幕高清视频 | 欧美激情在线播放 | 国产成人网 | 亚洲激情av | 国产在线一区二 | 免费性视频 | 精品欧美 | 自拍偷拍精品 | 激情五月激情综合网 | 国产一级视频免费播放 | 天堂va在线观看 |