一、深入C#數(shù)據(jù)類型
值類型傳遞和引用類型傳遞
方法的參數(shù)是值類型和引用類型

注意:值傳遞和引用傳遞判定依據(jù)是有沒有ref
01.如果方法的參數(shù)類型本身就是引用類型,那么對(duì)參數(shù)值的修改會(huì)永久保存
例如:public void TP(SE se)
{
se.Count++;//真正的修改se對(duì)象的Count值
}
02.如果方法的參數(shù)類型本身是值類型,又沒有ref修飾,那么對(duì)參數(shù)值的修改,不會(huì)永久保存()
03.如果方法的參數(shù)類型本身是值類型,但是有ref修飾,那么對(duì)象參數(shù)值的修改,也會(huì)永久保存。
值類型傳遞 :不帶ref的參數(shù)傳遞
引用類型傳遞:帶ref的參數(shù)傳遞
實(shí)例(經(jīng)理評(píng)分)效果圖如下:



關(guān)鍵代碼如下:



二、使用集合組織相關(guān)數(shù)據(jù)
集合:某些指定的對(duì)象集在一起就是集合
如下是一個(gè)Hello Kitty的集合
數(shù)組:可以存儲(chǔ)相同數(shù)據(jù)類型的一堆數(shù)據(jù)的容器


Capacity:集合占用空間
Count:集合存儲(chǔ)元素個(gè)數(shù)
添加:int Add(Object value) //添加一個(gè)對(duì)象到集合的末尾
遍歷:通過foreach遍歷
刪除:Remove()、RemoveAt()和Clear()
*:注意事項(xiàng):如果刪除了集合中的某一個(gè)元素,那么集合的索引會(huì)自動(dòng)維護(hù)
Remove():刪除內(nèi)容
RemoveAt():通過索引刪除
Clear():一次性移除集合中所有的元素
Contains():是否包含某個(gè)元素
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}
};
Hashtable 通常稱為哈希表
根據(jù)鍵(Key)可以查找到相應(yīng)的值 (Value)
01.HashTable類型的集合只能用foreach循環(huán)遍歷
02.HashTable集合中元素時(shí)無序的(不會(huì)按照Add的順序來展示元素內(nèi)容)
03.HashTable中的key不能重復(fù)
04HashTabel沒有RemoveAt()
☆:第一種方式,遍歷所有的keys,通過key的值獲取value
☆:第二種方式:遍歷所有的value集合
☆:第三種方式,同時(shí)遍歷key和value
Eg:
foreach (DictionaryEntry item in table)
{
Console.WriteLine(item.Key + "value==" + item.Value);
}
泛型:就是為了約束ArrayList中元素類型,而制定的一個(gè)新的集合類型,該類型只能加入同一類型的多個(gè)元素,標(biāo)識(shí)符<T>,可以看成是一個(gè)占位符,泛型是將運(yùn)行時(shí)錯(cuò)誤提前到了編譯時(shí)
Dictionary<string,Person> dic=new Dictionary<string, Person>();
實(shí)例(員工簽到)效果圖如下:

關(guān)鍵代碼如下:





知識(shí)小結(jié)項(xiàng)目(如圖):


關(guān)鍵代碼如下:




新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注