小學生之深入C#


一、深入C#數據類型 

值類型傳遞和引用類型傳遞

方法的參數是值類型和引用類型

注意:值傳遞和引用傳遞判定依據是有沒有ref

01.如果方法的參數類型本身就是引用類型,那么對參數值的修改會永久保存

例如:public void TP(SE se)

{

    se.Count++;//真正的修改se對象的Count值

}

02.如果方法的參數類型本身是值類型,又沒有ref修飾,那么對參數值的修改,不會永久保存()

03.如果方法的參數類型本身是值類型,但是有ref修飾,那么對象參數值的修改,也會永久保存。

值類型傳遞 :不帶ref的參數傳遞  

引用類型傳遞:帶ref的參數傳遞

實例(經理評分)效果圖如下:

關鍵代碼如下:

二、使用集合組織相關數據

  

1、集合概念引入

 

集合:某些指定的對象集在一起就是集合

 

如下是一個Hello Kitty的集合

 

數組:可以存儲相同數據類型的一堆數據的容器

三、集合中元素操作(添加,遍歷,刪除、常見錯誤)

                         

3.常見屬性:

Capacity:集合占用空間

Count:集合存儲元素個數

4.常用方法:

添加:int Add(Object value) //添加一個對象到集合的末尾

遍歷:通過foreach遍歷

刪除:Remove()、RemoveAt()和Clear()

      *:注意事項:如果刪除了集合中的某一個元素,那么集合的索引會自動維護

      Remove():刪除內容

      RemoveAt():通過索引刪除

      Clear():一次性移除集合中所有的元素

      Contains():是否包含某個元素

5、集合初始化器

   ArrayList engineers = new ArrayList()

{

        new SE(){Name = "周星星",Age = 26,

                     Gender = Gender.male,ID = "000",Popularity = 10},

        new SE(){Name = "王賤賤",Age = 22,

                     Gender = Gender.female,ID = "111",Popularity = 20},

        new SE(){Name = "周姐姐",Age = 30,

                     Gender = Gender.male,ID = "222",Popularity = 20}

};

6、HashTable

  Hashtable 通常稱為哈希表

  根據鍵(Key)可以查找到相應的值 (Value)

 

 ★1.HashTable注意事項

 

 

 

      01.HashTable類型的集合只能用foreach循環遍歷

 

      02.HashTable集合中元素時無序的(不會按照Add的順序來展示元素內容)

 

      03.HashTable中的key不能重復

 

      04HashTabel沒有RemoveAt()

 

 ★2.對HashTable遍歷三種方案:

 

     ☆:第一種方式,遍歷所有的keys,通過key的值獲取value

 

     ☆:第二種方式:遍歷所有的value集合

 

     ☆:第三種方式,同時遍歷key和value

 

       Eg:

 

              foreach (DictionaryEntry item in table)

 

            {

 

                Console.WriteLine(item.Key + "value==" + item.Value);

 

           }

7、泛型集合List<T>

 泛型:就是為了約束ArrayList中元素類型,而制定的一個新的集合類型,該類型只能加入同一類型的多個元素,標識符<T>,可以看成是一個占位符,泛型是將運行時錯誤提前到了編譯時

8、泛型集合Dictionary<K,V>

 Dictionary<string,Person> dic=new Dictionary<string, Person>();

實例(員工簽到)效果圖如下:

關鍵代碼如下:

 

知識小結項目(如圖):

關鍵代碼如下:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM