<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [C#]C#學習筆記-接口,集合與泛型

      C#學習筆記-接口,集合與泛型

      羅朝輝(http://www.rzrgm.cn/kesalin/

      《C#與.NET高級程序設計》讀書筆記

       

      接口

      1, 接口可以被定義為抽T象成員T的集合。接口可以包含方法,屬性,事件以及索引器。實現接口是一個要么全要要么全不要的問題,不能部分實現接口的方法。

      2,使用 as 關鍵字獲取接口應用。

      Person p = new Person("LiLai");
      IStudent s = p as IStudent;

      if (s != NULL)
      Console.WriteLine("{0} is a student", p.Name);
      else
      Console.WriteLine("{0} is not a student", p.Name);

      我們也可以使用 is 來判斷一個對象是否實現了某個接口:

      if (p is IStudent)
      ....
      else
      ...

      3,接口可以如同對象一樣被當做參數,返回值使用。

      4,通過顯式接口實現,解決實現多個接口的同名方法引起的命名沖突。顯式實現的成員是自動私有的,所以使用這些成員的時候必須將對象顯式轉換為對應的接口。

      5,接口支持繼承,并支持多重繼承。

      6,枚舉對象的構建   

      如果自定義類型要和C#的foreach關鍵字一起使用的話,容器就需要定義一個名為GetEnumerator()的方法,它由IEnumerator接口類型來定制。通常這個方法的實現只是交給保存子對象的內部成員,然而,我們也可以使用yield return語法來提供多個“命名迭代器” 方法。 

      7,回調接口

      回調接口通常不會由對獲取事件感興趣的對象直接實現,而是由一個叫做接收器對象的輔助對象來實現。事件的發送者會在合適的情況下調用接收器。 回調接口很有點像ObjC中的 delegate。

       

      集合和泛型

      1,最基礎的容器就是 System.Array,然而我們不能在增加或刪除元素時自動調整Array的大小。我們可以利用定義在System.Collections命名空間中的接口ICollection,IComparer,IDictionary,IDictionaryEnumerator,IEnumerable,IEnumerator,IHashCodeProvider,IList等來實現更靈活的容器,或使用System.Collections.Generic命名空間的泛型容器類型Collection<T>,Comparer<T>, Dictionary<TKey, TValue>, List<T>, Queue<T>, SortedDictionary<T>, Stack<T>, LinkedList<T>, ReadOnlyCollection<T>等。

      2,裝箱和撤箱
      .NET平臺支持兩大類的數據類型:值類型和引用類型。簡單來說,裝箱就是把值類型轉換為引用類型,反之就是撤箱。具體點說:裝箱就是把變量保存在System.Object中,將值類型顯示轉換為相應的引用類型;而撤箱就是把保存在對象引用中的值轉換回棧上的相應值類型。撤箱必須回到合適的數據類型,否則會引發InvalidCastException異常。

      裝箱和撤箱能方便我們往容器中存取值類型,但是也是有成本的,因為裝箱需要創建新對象,撤箱時需要銷毀對象,而且強制轉換也可能引起類型安全問題。因此我們常用泛型容器來解決此類問題。

      3,C#中泛型基本使用與C++相同。C#泛型中引進了 default 關鍵字,以用于設置類型參數的默認值,數值的默認值為0,引用類型的默認值為null,一個結構的字段被設為0或null。

      4,C#中使用 where 關鍵字來約束類型參數,where 可以用來控制類型參數的各種特性,但目前還不支持運算符約束。

      5,泛型類可以作為其他類的基類,它可以定義許多虛方法或抽象方法,但對泛型類的派生類有一些限制:派生類必須指定一個類型參數,如果基類定義了泛型虛方法或抽象方法,派生類型必須使用指定類型參數重寫泛型方法。

      posted @ 2012-02-16 13:43  飄飄白云  閱讀(849)  評論(0)    收藏  舉報
      本博客遵循 Creative Commons License “署名-非商業用途-保持一致”創作共用協議。 與我聯系
      主站蜘蛛池模板: 国产二区三区视频在线| 91毛片网| 无码三级av电影在线观看| 精品无码一区二区三区爱欲| 全免费A级毛片免费看无码| 欧美性插b在线视频网站| 99精品国产兔费观看久久99| 日韩中文字幕有码午夜美女| 国产精品人伦一区二区三| 国产高清在线精品一区不卡| 国产对白老熟女正在播放| 成人综合人人爽一区二区| 成人精品色一区二区三区| 精品亚洲国产成人av| 国产美女裸身网站免费观看视频| 蜜臀午夜一区二区在线播放| 国产成人久久精品一区二区| 国产果冻豆传媒麻婆精东| a级免费视频| 深夜视频国产在线观看| 亚洲a∨无码一区二区三区| 中文字幕丰满伦子无码ab| 欧美孕妇乳喷奶水在线观看| 国模冰莲自慰肥美胞极品人体图| 熟女蜜臀av麻豆一区二区| 在线看无码的免费网站| 习水县| 偷拍久久大胆的黄片视频| 亚洲精品二区在线播放| 久久精品国产亚洲AV麻| 久久国内精品一区二区三区| 欧美性猛交xxxx乱大交极品| 午夜福利你懂的在线观看| 国产对白老熟女正在播放| 久热色精品在线观看视频| 日本熟妇人妻一区二区三区| 日韩在线成年视频人网站观看| 国产精品天干天干综合网| 亚洲国产欧美日韩另类| 欧美中文字幕在线看| 亚洲成A人片在线观看无码不卡|