C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比
作者:天尽头的那片海 时间:2021-07-25 17:00:04
一、先来分别介绍一下ArrayList,Hashtable,List<T>,Dictionary<K,V>
1.ArrayList动态数组,保存值的时候比较好用
2.Hashtable以存储键值对的方式存储。value,和key
3.List<T> 和 Dictionary<K,V> 应该是泛型吧,可以保存实体类
二、各种集合的遍历方法演示
1.ArrayList
ArrayList list = new ArrayList();
//for遍历
for (int i = 0; i < list.Count; i++)
{
SE se = (SE)list[i];
Console.WriteLine(se.Name);
}
//foreach遍历
foreach (Object obj in list)
{
SE se = (SE)list[i];
Console.WriteLine(se.Name);
}
2.Hashtable
Hashtable list = new Hashtable();
//Hashtable不能用索引访问,所以遍历一个Hashtable只能用foreache()方法
//遍历Key
foreach (Object obj in list.Keys)
{
Console.WriteLine((string)obj);
}
//遍历Value
foreach (Object obj in list.Values)
{
SE se = (SE)obj;
Console.WriteLine(se.Name);
}
//同时遍历,DictionaryEntry一个结构
foreach (DictionaryEntry en in list)
{
Console.WriteLine(se.Keys);
COnsole.WriteLine(((SE)en.Value).Name);
}
3.List<T>
//for遍历
for (int i = 0; i < list.Count; i++)
{
//遍历时不需要类型转换
Console.WriteLine(list[i]);
}
//foreach遍历
foreach (SE obj in list)
{
//遍历时不需要类型转换
Console.WriteLine(obj);
}
4.Dictionary<K,V>
//遍历Values
foreach (SE se in list.Values)
{
//遍历时不需要类型转换
Console.WriteLine(se);
}
//同时遍历
foreach (KeyValuePair<string, SE> en in list)
{
Console.WriteLine(en.Key);
Console.WriteLine(en.Value.Name);
}
//KeyValuePair<TKey,TValue>是一个泛型结构
标签:C#,集合,遍历
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
c#动态改变webservice的url访问地址
2021-10-08 20:13:03
分别在Groovy和Java中创建并初始化映射的不同分析
2023-11-26 08:15:42
java实现LRU缓存淘汰算法的方法
2022-10-09 00:09:05
Spring Cloud动态配置刷新RefreshScope使用示例详解
2022-05-23 15:05:32
C# winform 请求http的实现(get,post)
2023-03-20 13:52:01
图文精讲java常见分布式事务理论与解决方案
2023-05-22 19:50:10
![](https://img.aspxhome.com/file/2023/3/75453_0s.png)
Java将对象保存到文件中/从文件中读取对象的方法
2022-06-18 21:26:42
Java数据结构之线索化二叉树的实现
2022-03-16 15:25:34
![](https://img.aspxhome.com/file/2023/1/75021_0s.png)
MybatisPlus使用@TableId主键id自增长无效的解决
2023-01-30 15:59:41
![](https://img.aspxhome.com/file/2023/4/75024_0s.png)
Android基于SoftReference缓存图片的方法
2023-07-13 00:53:21
Springboot-Shiro基本使用详情介绍
2022-10-13 03:02:42
![](https://img.aspxhome.com/file/2023/2/75702_0s.png)
SpringCloud Finchley+Spring Boot 2.0 集成Consul的方法示例(1.2版本)
2023-09-02 13:07:36
![](https://img.aspxhome.com/file/2023/9/58329_0s.png)
Mybatis批量插入更新xml方式和注解方式的方法实例
2022-06-17 18:09:09
Springboot 扫描mapper接口的2种操作
2022-08-04 03:28:54
![](https://img.aspxhome.com/file/2023/6/73106_0s.jpg)
Prometheus 入门教程之SpringBoot 实现自定义指标监控
2022-08-02 12:58:54
![](https://img.aspxhome.com/file/2023/7/67487_0s.jpg)
Mybatis映射文件实例详解
2023-06-12 13:08:42
Java制作智能拼图游戏原理及代码
2022-08-02 21:46:57
在java poi导入Excel通用工具类示例详解
2022-11-11 21:16:00
![](https://img.aspxhome.com/file/2023/6/66646_0s.png)
Spring Security和Shiro的相同点与不同点整理
2023-01-15 17:07:20
基于spring boot 的配置参考大全(推荐)
2021-11-28 23:32:41