黑马程序员技术交流社区

标题: 求泛型集合,和字典集合的用法和区别 [打印本页]

作者: 天高地阔    时间: 2012-4-12 15:24
标题: 求泛型集合,和字典集合的用法和区别
就拿下面这两段的内容给解释下吧:
泛型集合:
有一个Student类
class Student
{   
public string Name{get;set}   
public int Age{get;set}
}
这个班级有学生若干个,你可以创建一个泛型集合 students
List<...> students=new List<...>() ;

字典集合:
Dictionary<string, Socket> dict = new Dictionary<string, Socket>();

        void WatchConnecting()
        {
            while (true)//持续不断的监听新客户端的连接请求
            {
                //创建负责通信的套接字 开始监听 客户端的连接请求, 注意:Accpet会阻断当前的线程;
                Socket sokCoonction = socketWatch.Accept();
                //向列表控件中 添加一个客户端的ip端口字符串,作为客户端的唯一标识
                lbOnline.Items.Add(sokCoonction.RemoteEndPoint.ToString());
                //将与客户端通信的 套接字对象 sokCoonction 添加到 键值对集合中,并以客户端ip端口作为键值
                dict.Add(sokCoonction.RemoteEndPoint.ToString(),sokCoonction);
                ShowMsg("客户端连接成功!"+sokCoonction.RemoteEndPoint.ToString());
            }
        }

望大家给解释下这两者的区别和用法, 希望解释的浅显易懂,


作者: 林其响    时间: 2012-4-12 15:38
List<int> list=new List<int>();
list.add(1);
list.add(2);
list.add(3);
foreach(int i in list)
{
      //i 即为list中的值
}

Dictionary<int,int> dic=new Dictionary<int,int>();
dic.add(1,1);
dic.add(2,2);
dic.add(3.3);
遍历字典
foreach(int i in dic.keys)
{
     ....//i 即为字典的KEY
    int m=dic[i];//取value的值
}
foreach(int j in dic.values)
{
    ....  // j为字典的valuse
}

//用list生成字典
Dictionary<int,int> dic =new Dictionary<int,int>();
foreach(int m in list)  {
      if(!dic.containkeys(m))
          dic.add(m,m);
}
作者: 天高地阔    时间: 2012-4-12 18:14
请拿我发帖子时候那例子来说明,而且 我要的是用法和区别 ,不要只堆过来一堆代码让我看啊,




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