当前位置: 移动技术网 > IT编程>开发语言>c# > C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网