黑马程序员技术交流社区

标题: HashTable里面装的是对象 该如何遍历?求帮助!!! [打印本页]

作者: 王志平    时间: 2013-4-26 20:42
标题: HashTable里面装的是对象 该如何遍历?求帮助!!!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Collections;
  6. namespace CollectionDemo
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Student s1 = new Student();
  13.             Student s2 = new Student();
  14.             Teacher t1 = new Teacher();
  15.             Teacher t2 = new Teacher();
  16.             s1.Name = "dwyane";
  17.             s1.Id = 1;
  18.             s2.Name = "lebron";
  19.             s2.Id = 2;
  20.             t1.Name = "paul";
  21.             t1.Id = 3;
  22.             t2.Name = "kobe";
  23.             t2.Id = 4;
  24. /*
  25.             ArrayList list = new ArrayList(5)
  26.             list.Add(s1);
  27.             list.Add(s2);
  28.             list.Add(t1);
  29.             list.Add(t2);
  30. */
  31.             Hashtable map = new Hashtable();
  32.             map.Add(1, s1);
  33.             map.Add(2, s2);
  34.             map.Add(3, t1);
  35.             map.Add(4, t2);
  36.             foreach (DictionaryEntry o in map)
  37.             {

  38.                 Console.ReadLine();
  39.             }
  40.         }
  41.     }
  42. }
复制代码
===================
怎么遍历输出名字和学号?
作者: 陈晖    时间: 2013-4-26 22:18
HashTable对象里面存的形式是以键值对形式。
你的题目里面可以根据学号找到实例名,再找对应的名字。
再加载到for循环中就可以遍历了啊。{:soso_e100:}
作者: 张振    时间: 2013-4-26 22:20
你已经写出来了
然后 它的键值就是o.Key 和o.Value
你foreach(Dictionayr o in map)
{
console.writeline(o.Key+" "+o.Value)
}
就行了 建议你可以学习下泛型集合Dictionary 比这个功能要多些
作者: HM邱刚权    时间: 2013-4-27 15:37
for 循环 foreach 职业循环专家! 各种循环  相信他 同学!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2