一、深入C#数据类型
值类型传递和引用类型传递
方法的参数是值类型和引用类型
注意:值传递和引用传递判定依据是有没有ref
01.如果方法的参数类型本身就是引用类型,那么对参数值的修改会永久保存
例如:public void TP(SE se)
{
se.Count++;//真正的修改se对象的Count值
}
02.如果方法的参数类型本身是值类型,又没有ref修饰,那么对参数值的修改,不会永久保存()
03.如果方法的参数类型本身是值类型,但是有ref修饰,那么对象参数值的修改,也会永久保存。
值类型传递 :不带ref的参数传递
引用类型传递:带ref的参数传递
实例(经理评分)效果图如下:
关键代码如下:
二、使用集合组织相关数据
集合:某些指定的对象集在一起就是集合
如下是一个Hello Kitty的集合
数组:可以存储相同数据类型的一堆数据的容器
Capacity:集合占用空间
Count:集合存储元素个数
添加:int Add(Object value) //添加一个对象到集合的末尾
遍历:通过foreach遍历
删除:Remove()、RemoveAt()和Clear()
*:注意事项:如果删除了集合中的某一个元素,那么集合的索引会自动维护
Remove():删除内容
RemoveAt():通过索引删除
Clear():一次性移除集合中所有的元素
Contains():是否包含某个元素
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 通常称为哈希表
根据键(Key)可以查找到相应的值 (Value)
01.HashTable类型的集合只能用foreach循环遍历
02.HashTable集合中元素时无序的(不会按照Add的顺序来展示元素内容)
03.HashTable中的key不能重复
04HashTabel没有RemoveAt()
☆:第一种方式,遍历所有的keys,通过key的值获取value
☆:第二种方式:遍历所有的value集合
☆:第三种方式,同时遍历key和value
Eg:
foreach (DictionaryEntry item in table)
{
Console.WriteLine(item.Key + "value==" + item.Value);
}
泛型:就是为了约束ArrayList中元素类型,而制定的一个新的集合类型,该类型只能加入同一类型的多个元素,标识符<T>,可以看成是一个占位符,泛型是将运行时错误提前到了编译时
Dictionary<string,Person> dic=new Dictionary<string, Person>();
实例(员工签到)效果图如下:
关键代码如下:
知识小结项目(如图):
关键代码如下:
新闻热点
疑难解答