c#泛型集合的遍历
我吧,没太搞懂,泛型集合遍历有几种方式?我记得有.value和.key?的?它们分别在什么时候用?...
我吧,没太搞懂,泛型集合遍历有几种方式?
我记得有.value 和.key?的?
它们分别在什么时候用? 展开
我记得有.value 和.key?的?
它们分别在什么时候用? 展开
3个回答
展开全部
有三种
很简单,给你举个例子:
1、先声明一个Dictoinary<key,value>泛型集合
创建一个Student类的对象Student stu=new Student()(在这个类中
有一个name属性)
Dictionary<student.name,Student> students=new Dictionary<student.name,Student>();
students.Add(stu);
2、开始遍历
(1)可以用value遍历就是Stuent的 对象
foreach(Student stu in students.values)
{}
(2)也可以用key遍历 即student.name
foreach(string key in students.keys)
{}
3、另外list<T>泛型集合也同样的道理,只不过,
它遍历时要通过索引
例如
list<Student> stu=new list<Student>();
stu(1).name;
希望你能明白
很简单,给你举个例子:
1、先声明一个Dictoinary<key,value>泛型集合
创建一个Student类的对象Student stu=new Student()(在这个类中
有一个name属性)
Dictionary<student.name,Student> students=new Dictionary<student.name,Student>();
students.Add(stu);
2、开始遍历
(1)可以用value遍历就是Stuent的 对象
foreach(Student stu in students.values)
{}
(2)也可以用key遍历 即student.name
foreach(string key in students.keys)
{}
3、另外list<T>泛型集合也同样的道理,只不过,
它遍历时要通过索引
例如
list<Student> stu=new list<Student>();
stu(1).name;
希望你能明白
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的那个就是类似哈希表的那类
还有个泛型类的字典
待会给你看个例子吧
很有用
(包括有你的遍历)
Dictionary<(Of <(TKey, TValue>)>) 类
http://msdn.microsoft.com/zh-cn/library/xfhwa508.aspx
例子在这里,比较长,用法也有了
看看,比较有价值
还有个泛型类的字典
待会给你看个例子吧
很有用
(包括有你的遍历)
Dictionary<(Of <(TKey, TValue>)>) 类
http://msdn.microsoft.com/zh-cn/library/xfhwa508.aspx
例子在这里,比较长,用法也有了
看看,比较有价值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛型听起来很高深的一个词,但实际上它的作用很简单,就是提高c#程序的性能。
比如在计算机中经常用到一些数据结构,如队列,链表等,而其中的元素以前一般这么定义:object a=new object();
这样就带来一个严重的问题,用object来表示元素没有逻辑问题,但每次拆箱、封箱就占用了大量的计算机资源,导致程序性能低下,而这部分内容恰恰一般都是程序的核心部分,如果使用object,那么程序的表现就比较糟糕。
而使用泛型则很好的解决这个问题,本质就是在编译阶段就告诉编译器,数据结构中元素的种类,既然编译器知道了元素的种类,自然就避免了拆箱、封箱的操作,从而显著提高c#程序的性能。
比如List<string>就直接使用string对象作为List的元素,而避免使用object对象带来的封箱、拆箱操作,从而提高程序性能。
可以自己编个小例子体验一下在使用数据结构时的情形,自然就理解了。
比如在计算机中经常用到一些数据结构,如队列,链表等,而其中的元素以前一般这么定义:object a=new object();
这样就带来一个严重的问题,用object来表示元素没有逻辑问题,但每次拆箱、封箱就占用了大量的计算机资源,导致程序性能低下,而这部分内容恰恰一般都是程序的核心部分,如果使用object,那么程序的表现就比较糟糕。
而使用泛型则很好的解决这个问题,本质就是在编译阶段就告诉编译器,数据结构中元素的种类,既然编译器知道了元素的种类,自然就避免了拆箱、封箱的操作,从而显著提高c#程序的性能。
比如List<string>就直接使用string对象作为List的元素,而避免使用object对象带来的封箱、拆箱操作,从而提高程序性能。
可以自己编个小例子体验一下在使用数据结构时的情形,自然就理解了。
参考资料: http://zhidao.baidu.com/question/78407299.html?si=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询