关于List<T>和Dictionary<K,V>的问题 书上一道选择题的选项:list<T>和Dictionary<K,V>都可以循环遍历整个元素对象我感觉是正确的,但是老师说只有List<T> 遍历的才是对象,Dictionary遍历的不叫对象,我很晕啊,它们存的都是一样的东西,为什么List<T>遍历出来就叫对象,Dictionary<K,V>遍历出来就不叫? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ可以用你的书去敲你老师了.KeyValuePair<TKey,TValue>的实例不叫对象叫什么?这是赤裸裸的种族歧视口牙!(最后一句大误) T,K,T都是针对对象的类型而言的,没有对象应用就不会涉及对象的类型。深入一点(可能超出你们的理解范围,但是我希望能够深入去理解)地说,List<T>和Dictionary<K,V>都有同样根类,就是IEnumerable<T>,即对象的集合列表。Dictionary<K,V>要复杂一些,中间经过IEnumerable<KeyValuePair<K, V>>这个方式(也就是使用KeyValuePair成对的对象)来实现的。 list <T> 和 Dictionary <K,V> 都是 IEnumerable <T> 的具体实现形式,这个知识可以开阔你对于集合概念的视野。 "Dictionary <K,V>要复杂一些,中间经过IEnumerable <KeyValuePair <K, V>>这个方式(也就是使用KeyValuePair成对的对象)来实现的。"也就是说,Dictionary <K,V>的key 元素 和 value元素 都是对象?是这个意思吗? 呵呵,不用了解深入的东西,那么<K,V>本来也是说明key和value都是可以指代非常具体的对象的。我只是把Dictionary<K,V>的概念稍微深入一点,说明设计这个类型的人也要说明任何一个Dictionary<K,V> 实例同时也是一个 IEnumerable <T> 实例,而后者要说明的就是一个一个可以枚举的对象形成的集合。 public class Dictionary<TKey,TValue> : IDictionary<TKey,TValue>, ICollection<KeyValuePair<TKey,TValue>>, IEnumerable<KeyValuePair<TKey,TValue>>, IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallbackDictionary 泛型类提供了从一组键到一组值的映射。字典中的每个添加项都由一个值及其相关联的键组成。通过键来检索值的速度是非常快的,接近于 O(1),这是因为 Dictionary 类是作为一个哈希表来实现的。Dictionary<int, int> _dictionary = new Dictionary<int, in>();foreach(KeyValuePair<int, int> item in _dictionary) { } list<T> 里面是一个对象,Dictionary <k,v> 里面,k 是一个属性,V也是一个属性。当然在整个集合中k的类型是一样的,V的类型也是一样。只是也许这个k 和V能够确定一个对象。两个当然都是存放的对象。可能你的老师的意思是<T> 这个T是一个对象 <k,v> 这个括号里只是这个对象的某些属性。 请教一个数据统计程序的架构设计 水晶报表 画图 c# 通过邮箱中系统退信判断哪些邮箱地址不存在 在不知道字符串中是否存在某个字符的情况下判断其存在位置 请问各位老兄在asp.net中如何实现大文件的上传 关于自定义控件的问题 关于datagrid的CurrentCellChanged事件 如何在自己的程序中实现像sqlConnection那样的框。 Calendar 日历 取第一天和最后一天. gridcontrol主从表 导出xlsx和打印 WEB水晶报表打印的问题?! VS2005新建ASP.NET网站工具箱没有WEB设计窗体
KeyValuePair<TKey,TValue>的实例不叫对象叫什么?
这是赤裸裸的种族歧视口牙!(最后一句大误)
呵呵,不用了解深入的东西,那么<K,V>本来也是说明key和value都是可以指代非常具体的对象的。我只是把Dictionary<K,V>的概念稍微深入一点,说明设计这个类型的人也要说明任何一个Dictionary<K,V> 实例同时也是一个 IEnumerable <T> 实例,而后者要说明的就是一个一个可以枚举的对象形成的集合。
IEnumerable<KeyValuePair<TKey,TValue>>, IDictionary, ICollection, IEnumerable,
ISerializable, IDeserializationCallback
Dictionary 泛型类提供了从一组键到一组值的映射。字典中的每个添加项都由一个值及其相关联的键组成。通过键来检索值的速度是非常快的,接近于 O(1),这是因为 Dictionary 类是作为一个哈希表来实现的。Dictionary<int, int> _dictionary = new Dictionary<int, in>();
foreach(KeyValuePair<int, int> item in _dictionary)
{
}
可能你的老师的意思是<T> 这个T是一个对象
<k,v> 这个括号里只是这个对象的某些属性。