欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#常见的几种集合 ArrayList,Hashtable,List,Dictionary 遍历方法对比

程序员文章站 2022-11-23 23:17:59
一、先来分别介绍一下arraylist,hashtable,list,dictionary 1.arraylist动态数组,保...

一、先来分别介绍一下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>是一个泛型结构