浅谈:C#中的非泛型集合
1.首先:ArrayList:非泛型集合
List:泛型集合
集合跟数组比较我们更容易理解。数组:1,长度固定2,数据类型预先声明
集合:1,长度可变2,数据类型预先声明的为泛型集合,数据类型不限定为非泛型
ArrayList:1.类似于数组,称为数组列表;容量可以根据需要自动扩充,它的索引会根据程序的扩充而重新进行分配和调整,还提供一系列方法对其中的元素进行访问,添加和删除操作!
2.ArrayList的命名空间为Collections;
例如:
//值传递的引用传递
Student stu = new Student();
stu.Age = ;
//用一个方法更改学生年龄
changStudentAge(stu);
Console.WriteLine(stu.Age); ArrayList list = new ArrayList();
list.Add("狗子");
list.Add("狍子");
list.Add("戏子"); //遍历
foreach (var item in list)
{
Console.WriteLine(item);
}
//移除
list.Remove("戏子");
//移除ArraylIST的指定索引除的下标
list.RemoveAt();
//修改
list[] = "瘸子";
Console.WriteLine("list.Remove==========");
foreach (var item in list)
{
Console.WriteLine(item);
} ArrayList list = new ArrayList()
{
new SE(){Name = "你好"},
new SE(){Name = "BYANG"},
};
foreach (SE item in list)
{
Console.WriteLine(item.Name);
}
总结:不管是非泛型或者泛型集合,长度都是不固定的。泛型是指集合元素类型限定了,
而非泛型集合元素类型为object类型,相当于任何类型都可以。 2.Hashtable:称为数据结构,通常称为哈希表,字典;是通过键(Key)和值(Value)来组织的,
属于Collections命名空间;
Hashtable的常用的属性:
Count:获取包含在Hashtable中的键/值对的数目
Keys:
获取包含在Hashtable中的键的对的集合
Values:获取包含在Hashtable中的值的集合
3.Hashtable的一些方法:
Hashtable table = new Hashtable();
table.Add("CBC","中国建设银行");
table.Add("IBC","中国农业银行");
table.Add("ICBC","中国工商银行");
foreach (string Key in table.Keys)
{
//获取值
Console.WriteLine(Key);
//双列表如何
Console.WriteLine(table[Key]);
}
Console.WriteLine("删除之后=================");
//删除
table.Remove("CBC");
foreach (string Key in table.Keys)
{
//获取值
Console.WriteLine(Key);
//双列表如何
Console.WriteLine(table[Key]);
} Console.ReadLine();
浅谈:C#中的非泛型集合的更多相关文章
- 浅谈 .NET 中的对象引用、非托管指针和托管指针 理解C#中的闭包
浅谈 .NET 中的对象引用.非托管指针和托管指针 目录 前言 一.对象引用 二.值传递和引用传递 三.初识托管指针和非托管指针 四.非托管指针 1.非托管指针不能指向对象引用 2.类成员指针 五 ...
- 浅谈Linux中的信号处理机制(二)
首先谢谢 @小尧弟 这位朋友对我昨天夜里写的一篇<浅谈Linux中的信号处理机制(一)>的指正,之前的题目我用的“浅析”一词,给人一种要剖析内核的感觉.本人自知功力不够,尚且不能对着Lin ...
- 浅谈JavaScript中的正则表达式(适用初学者观看)
浅谈JavaScript中的正则表达式 1.什么是正则表达式(RegExp)? 官方定义: 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去 ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- 转:浅谈HTTP中Get、Post、Put与Delete的区别
1.GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论进行多少次操 ...
- 浅谈Java中的equals和==(转)
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...
- 浅谈Java中的equals和==
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...
- 转【】浅谈sql中的in与not in,exists与not exists的区别_
浅谈sql中的in与not in,exists与not exists的区别 1.in和exists in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表 ...
- 浅谈iOS中的userAgent
浅谈iOS中的userAgent User-Agent(用户代理)字符串是Web浏览器用于声明自身型号版本并随HTTP请求发送给Web服务器的字符串,在Web服务器上可以获取到该字符串. 在公司产 ...
随机推荐
- 使用truncate ,截断有外键约束的父表
此时有两种方法,解决1.删除外键约束,删除该表,在重建外键约束--查询外键约束select TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,R_CONSTRAIN ...
- jupyter中%matplotlib inline报错
学习matplotlib时,使用的jupyter跑代码.报错如上图.大致就是后面的注释不能被识别.我寻思着注释不用识别吧,大概是因为%后跟的语句被全部当成命令行执行了,然后命令行不识别行内注释,导致报 ...
- MySQL数据库---记录相关操作
序 表中记录的相关操作一共四种:插入,更新,删除.查询.其中使用最多,也是最难的就是查询. 记录的插入 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3… ...
- C++语法小记---友元
友元函数 延续C语言的结构体编程方式,直接访问类的私有成员,提高效率 友元分为函数友元和类友元 友元函数可以访问类的所有成员 友元类的所有成员函数都是友元函数 友元不具备传递性 友元函数和类的成员函数 ...
- SQL数据多条转单条(CONCAT_WS)
一.concat()函数可以连接一个或者多个字符串 concat(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. select conc ...
- Java线程的6种状态及切换
Java中线程的状态分为6种. 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法.2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running) ...
- 《闲扯Redis七》Redis字典结构的底层实现
一.前言 上节<闲扯Redis六>Redis五种数据类型之Hash型 中说到 Hash(哈希对象)的底层实现有: 1.ziplist 编码的哈希对象使用压缩列表作为底层实现 2.hasht ...
- 遇到的spring问题,或许需要下载新的java jdk
org.springframework.context.support.AbstractApplicationContext
- Zabbix添加监控主机
一.监控server本机 1.查看主机列表 2.启动server主机的zabbix-agent服务 [root@zabbix ~]# systemctl start zabbix-agent.serv ...
- laravel 迁移文件中修改含有enum字段的表报错解决方法
解决方法: 在迁移文件中up方法最上方加上下面这一行代码即可: Schema::getConnection()->getDoctrineSchemaManager()->getDataba ...