浅谈: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服务器上可以获取到该字符串. 在公司产 ...
随机推荐
- Ubuntu安装Docker(官方文档翻译)
翻译自Docker官方文档 https://docs.docker.com/engine/installation/linux/ubuntulinux/ 之前因为看不懂官方文档,卡在某个步骤无法完成安 ...
- python 简单粗暴的生产的验证码
import os import pygame import random from pygame.locals import * count = 0; 生成验证码的函姝 def get_code() ...
- Python 简明教程 --- 25,Python 目录操作
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 做技术一定要一颗恒心,这样才不会半途而废. 目录 上一节我们介绍了文件相关的操作,本节我们来介绍目录 ...
- 中缀转逆波兰表达式 c++ 队列,栈
记得早在几十天以前,xty 学长曾让我学这个.一直推到了现在哈 咕咕咕(能鸽善鹉orz) 抱歉,学妹我来还愿了! 中缀表达式比较适合人类的计算,但是后缀表达式更适合机器计算(毕竟没有那么多运算符优先级 ...
- JVM笔记-GC常用参数设置
GC常用参数 -Xmn -Xms -Xmx -Xss 年轻代 最小堆 最大堆 栈空间, -Xms -Xmx 一般设置成一样大小, -XX:+UseTLAB 使用TLAB,默认打开 -XX:+Print ...
- 老男孩Django笔记(非原创)
.WEB框架 MVC Model View Controller 数据库 模板文件 业务处理 MTV Model Template View 数据库 模板文件 业务处理 ############## ...
- 线程_进程间通信Queue合集
# Queue的工作原理 from multiprocessing import Queue q = Queue(3)#初始化一个Queue对象,最多可接收3条put消息 q.put("In ...
- PHP系列之钩子
PHP 提供的钩子 PHP 和 Zend Engine 为扩展提供了许多不同的钩子,这些扩展允许扩展开发人员以 PHP userland 无法提供的方式控制 PHP 运行时. 本章将展示各种钩子和从扩 ...
- PHP xml_set_notation_decl_handler() 函数
定义和用法 xml_set_notation_decl_handler() 函数规定当解析器在 XML 文档中找到符号声明时被调用的函数. 如果成功,该函数则返回 TRUE.如果失败,则返回 FALS ...
- luogu P2973 [USACO10HOL]Driving Out the Piggies G 驱逐猪猡
luogu LINK:驱逐猪猡 bzoj LINK:猪猪快跑 问题是在1时刻有个炸蛋在1号点 这个炸弹有p/q的概率爆炸 如果没有爆炸 那么会有1/di的概率选择一条边跳到另外一个点上重复这个过程. ...