作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1、先来分别介绍一下ArrayList,Hashtable,List<T>,Dictionary<K,V> 。
1.ArrayList动态数组,保存值的时候比较好用 2.Hashtable以存储键值对的方式存储。value,和key 3.List<T> 和 Dictionary<K,V> 应该是泛型吧,可以保存实体类 。
2、各种集合的遍历方法演示 。
1.ArrayList 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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> 。
1
2
3
4
5
6
7
8
9
10
11
12
|
//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> 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//遍历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#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比的文章就讲到这里了,如果你想了解更多关于C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!