A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

就拿下面这两段的内容给解释下吧:
泛型集合:
有一个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());
            }
        }

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

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

2 个回复

正序浏览
请拿我发帖子时候那例子来说明,而且 我要的是用法和区别 ,不要只堆过来一堆代码让我看啊,
回复 使用道具 举报
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);
}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马