ArrayList和Hashtable
public class Tools{
public string Name{get ;set;}
}
#region 0.1ArrayList集合
////告诉内存,我要存储内容
//ArrayList list = new ArrayList();
////方法 Add方法
//list.Add("李小龙");
//list.Add("成龙");
//list.Add("甄子丹");
////0.1打印出每个人的名称
//foreach (Object item in list)
//{
// Console.WriteLine("姓名为:~~~~~~~~~~~~~~~~~~" + item + "~~~~~~~~~~~~~~~~~");
//}
////0.2单独获取信息
//Console.WriteLine("单独获取信息:" + list[1]);
////0.3删除
//list.Remove("李小龙");
//Console.WriteLine("_______________删除后__________________");
//foreach (Object item in list)
//{
// Console.WriteLine("姓名为:~~~~~~~~~~~~~~~~~~" + item + "~~~~~~~~~~~~~~~~~");
//}
////0.4添加
//Console.WriteLine("添加");
//list.Add("李小龙");
//Console.WriteLine("!!!!!!!!!!!!!!添加!!!!!!!!!!!!!!!!!!!!!");
//foreach (Object item in list)
//{
// Console.WriteLine("姓名为:~~~~~~~~~~~~~~~~~~" + item + "~~~~~~~~~~~~~~~~~");
//}
////0.5添加 Add向后追加
//Console.WriteLine("向后追加");
//list.Insert(1, "李谦");
//Console.WriteLine("!!!!!!!!!!!!!!向后追加!!!!!!!!!!!!!!!!!!!!!");
//foreach (Object item in list)
//{
// Console.WriteLine("姓名为:~~~~~~~~~~~~~~~~~~" + item + "~~~~~~~~~~~~~~~~~");
//}
////0.6判断李小龙是否在名称为list中
//bool flag = list.Contains("李小龙");
//Console.WriteLine(flag);
////修改 "李谦" 为 "刘谦"
////数组中元素个数用XX.Length 集合元素用XX.count
//for (int i = 0; i < list.Count; i++)
//{
// if (list.Contains("李谦"))
// {
// //存在 就修改
// if (list[i].Equals("李谦"))
// {
// list[i] = "刘谦";
// break;
// }
// }
// else
// {
// Console.WriteLine("没有该人,如何修改!!");
// }
//}
//Console.WriteLine("!!!!!!!!!!!!!!修改后!!!!!!!!!!!!!!!!!!!!!");
//foreach (Object item in list)
//{
// Console.WriteLine("姓名为:~~~~~~~~~~~~~~~~~~" + item + "~~~~~~~~~~~~~~~~~");
//}
//方法二
// //ArrayList list = new ArrayList();
// Tools p1 = new Tools();
// p1.Name = "六道神君";
// Tools p2 = new Tools(); ;
// p2.Name = "天使神茫";
// Tools p3 = new Tools();
// p3.Name = "魔君";
// list.Add(p1);
// list.Add(p2);
// list.Add(p3);
// Tools p4 = new Tools();
// p4.Name = "邪神";
// // list.Add(p4); //按顺序排列
// list.Insert(0, p4);//下标定到0
// //遍历集合中所有的元素
// foreach (Tools person in list)
// {
// Console.WriteLine(person.Name);
// }
// Console.WriteLine("-------------------------------删除后--------------------------");
//// 判断所
// if (list.Contains(p4))
// {
// list.RemoveAt(0);//下标
// // list.Remove(p4);//实际存在
// }
// else
// {
// Console.WriteLine("-------------数据不存在-----------");
// }
// foreach (Tools person in list)
// {
// Console.WriteLine(person.Name);
// }
Hashtable table=new Hashtable();
Person p1=new Person();
p1.Name = "李连杰";
Person p2 = new Person();
p2.Name = "巩俐";
Person p3 = new Person();
p3.Name = "张靓颖";
table.Add("", p1);
table.Add("", p2);
table.Add("", p3);
//遍历HashTable三种方案
/*
* 无论是java还是C#,引用类型对象都会自动调用它的ToString()
ToString()命名空间.类名
*/
//方式一:通过key获取key和value
foreach (string key in table.Keys)
{
//通过key获取value
Console.WriteLine("key是{0}\tvalue是{1}", key, ((Person) table[key]).Name);
}
Console.WriteLine("===========================");
//方式二:只获取value
foreach (Object value in table.Values)
{
Console.WriteLine(((Person)value).Name);
}
Console.WriteLine("===================================");
//方式三:key和value同时遍历 key+value
foreach (DictionaryEntry item in table)
{
Console.WriteLine("key是{0}\tvalue是{1}",item.Key,((Person)item.Value).Name);
}
//删除 Remove()
// table.Remove("001");
//修改 咱们修改“002” key对应value值得name属性为“大美丽”
//先判断 是否存在某个key
if (table.ContainsKey("")) //存在该key
{
Person p = (Person) table[""];
p.Name = "大美丽";
}
Console.WriteLine("==========修改后==========");
//方式三:key和value同时遍历 key+value
foreach (DictionaryEntry item in table)
{
Console.WriteLine("key是{0}\tvalue是{1}", item.Key, ((Person)item.Value).Name);
}
//Console.WriteLine("==========删除后==========");
////方式三:key和value同时遍历 key+value
//foreach (DictionaryEntry item in table)
//{
// Console.WriteLine("key是{0}\tvalue是{1}", item.Key, ((Person)item.Value).Name);
//}
Console.ReadLine();
#endregion
ArrayList和Hashtable的更多相关文章
- ArrayList、HashTable、List、Dictionary的演化及如何选择使用
在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求. 由于这种限制不方便,所以出现了ArrayList. ArrayList.List<T> ArrayList是可变长数组,你 ...
- 类 Array Arraylist List Hashtable Dictionary
总结C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue 我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashT ...
- 利用ArrayList对Hashtable其进行排序
前言: 最近在使用Hashtable的时候发现一个问题:就是当你对Hashtable进行遍历的时候整个输出结果是毫无顺序的, 上网查了一下说是Hashtable有自己内部的排序机制,如果要自定义排序的 ...
- C#中集合ArrayList与Hashtable的使用
C#中集合ArrayList与Hashtable的使用 http://blog.csdn.net/linukey/article/details/42506819 ArrayList: 一. 注意事项 ...
- c#重点[集合类型]异常,数组,集合ArrayList,List<>,hashTable,hashtable泛型(Dictionary)
1.foreach[对一些数组或集合进行遍历] foreach(类型 变量名 in 集合对象){语句体} //定义一个数组 ,,,,, }; foreach(var i in sNum1) { Con ...
- ArrayList,Hashtable,List<T>,Dictionary<K,V>
1.ArrayList ArrayList list = new ArrayList(); //for遍历 ; i < list.Count; i++) { SE se=(SE)list[i]; ...
- C#中Dictionary、ArrayList、Hashtable和Array的区别
IDictionary接口是所有字典类集合的基本接口,该接口与ICollection,IEnumerable接口是所有非泛型类集合的最基本的接口 IEnumerable接口用于公开枚举数,该枚举数支持 ...
- 第三章泛型集合ArrayList 和Hashtable
第三章泛型集集合 ArrayList 变量名 = new ArrayList(); //相当与一个容器 他的执行using 是 using System.Collections; 变量名.ADD( ...
- C# 集合类 Array,Arraylist,List,Hashtable,Dictionary...
我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类.我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和 ...
随机推荐
- C#内存占用大量资源的解决办法
昨天,独立完成了一个项目,一直运行起,起初运行内存为15Mb左右,但是发现内存以每秒2Mb的速度增加,吓了我一跳(注:我实习生,我的工作中第一个项目).从头找寻对象,再来dispose,弄得我晕头转向 ...
- js阻塞
阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),JS单线程避免阻塞方法: 1.sleep()方法:sleep()允许指定以毫秒为单位的一段时间作为参数,使得线程在指定的时间内进入阻塞状 ...
- Jquery easyui Tree的简单使用
Jquery easyui Tree的简单使用 Jquery easyui 是jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻 ...
- ASP.NET获取请求的url信息汇总
ASP.NET获取请求的url信息汇总 最近做项目需要处理一个用代码获取当前网站的域名或ip信息的问题,于是尝试了ASP.NET中各种获取url信息的方法,在此总结一下: 在Global.asax文件 ...
- jQuery源码分析-02正则表达式-RegExp-常用正则表达式
2.4 常用正则表达式在网上找到一篇广为流传的文章<常用正则表达式>,逐一分析,不足地方进行补充和纠正. 常用的数字正则(严格匹配) 正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1 ...
- SharePoint 2013 中代码创建列表查阅项字段
1.首先,打开VS创建两个List Definition,分别是Address和City,如下图: 2.City列表里修改Title为City Name,其实内部名称还是Title,注意一下: 3.给 ...
- ad组策略和sharepoint office打开文档关系
组策略管理器 组策略继承 新建组策略 更新组策略 服务器端 1.cmd命令:gpupdate /force 2.更新ad站点与服务,针对多台ad 客户端 1.cmd命令:gpupdate /force ...
- Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010
from:http://blog.tallan.com/2012/07/18/creating-a-sharepoint-bcs-net-assembly-connector-to-crawl-rss ...
- Docker: 解决Docker无法在电信网络中访问外网
在电信网络中,Docker在build和run时会无法访问外网,原因是docker的默认dns地址是8.8.8.8,由于众所周知的原因,我们需要改写这个地址,方法如下: 修改/etc/sysconfi ...
- Xcode证书路径和缓存清理路径
1.Xcode证书路径: ~/Library/MobileDevice/Provisioning Profiles 2.Jenkines共享证书路径: /用户/共享/Jenkins/Library/M ...