问题描述
有谁看过C#入门第三版的,里面对于集合的问题我很多看不懂,卡在那了,有哪位高手愿意帮我度过难关的..
解决方案
解决方案二:
具体什么问题啊...多看看例子
解决方案三:
是啊,大哥你都没说出来是什么问题我们那里知道你说的是什么啊
解决方案四:
对于C#中的初学者而言,先了解四种集合就足够了。两种普通集合:ArrayListHashTable两种泛型:List<T>Dictionary<string,value>给LZ讲解一下这四种集合的用法一、ArrayList数组相信楼主肯定了解过,数组是有长度限制的。在使用数组之前必须确定数组的长度。但是我们很多时候,是在程序运行过程中,才可以确定存储数据的个数的。那么,这个时候,就需要用到集合。ArrayList,位于System.Collections命名空间下,也就是说,如果要使用ArrayList,就必须引入该命名空间。该种集合也被称为"动态数组",原因就在于它的容量是可以根据需求按照一定的规律自动扩容的。该种集合可以存入任意类型的数据,存入后,都一致转变为了Object类型。那么对于值类型来说,就是进行了一次装箱操作,非常消耗性能。简单介绍一下它的用法Add():向集合中添加元素,参数为变量名,有一个整型返回值,表示该元素在集合中的索引。Remove():删除集合中的元素,参数为变量名,无返回值。删除后的集合,将重新排列集合中元素的索引。RemoveAt():删除集合中元素,与上个方法不同的是,该种方法是按照索引来删除的。参数为元素索引。Count:属性。表示当前集合的元素数量。整型返回值。Capacity:属性。表示当前集合中的容量。TrimToSize():压缩集合容量。很多时候,当我们确定了不再向集合中添加元素的时候,我们要压缩一下集合容量,以避免造成空间的浪费。另外,介绍一下它的读取操作,因为存进去的元素都会变为Object类型,所以读取的时候需要进行类型转换。如果需要遍历循环的话,因为该集合是按照元素的索引来进行访问的,所以我们完全可以使用for循环来进行遍历。for(inti=0;i<集合.Count;i++){}
二、HashTable同ArrayList一样,也是位于System.Collections命名空间下。该种集合存的是一个键值对。一个键值对应一个值。所以,该种集合的访问方式于ArrayList不同,是按照键的值来进行访问的。Add():添加元素。两个参数,第一个为键,第二个为值。Remove():删除,参数为键值。Clear():清空集合中的所有元素。Keys:属性。集合的键值集合。遍历循环可以使用。Values:属性。集合的值的集合。遍历循环可以使用。该集合存入的也是自动转换为Object类型,所以读取的时候需要进行类型转换。遍历循环时,需要利用foreach。foreach(stringkeyinlist.Keys){}foreach(Objectvalueinlist.Values){}
三、List<T>位于System.Collections.Generic命名空间下。为ArrayList的泛型版本。该种集合严格限制存入的元素类型。T的意思就是表示可以存入该集合中的元素类型。其他的不允许进入该集合。一些用法与ArrayList相同。不同的是,读取的时候,不再需要进行类型转换,也就是说,减少了装箱和拆箱的步骤,大大提高了程序运行的性能。四、Dictionary<string,value>位于System.collections.Generic命名空间下。为HashTable的泛型版本。该种集合也严格的限制存入元素的类型。string表示的是存入的集合的元素的键值。声明的时候必须指定。value表示的值的类型。声明的时候也必须指定。其他用法与HashTable相同。读取不再需要进行类型转换。楼主,我说这些花费了我二十分钟的时间,希望你能认真看一下,也希望对你有所帮助。
解决方案五:
LS的谢谢是有一定的帮助;我现在比较困惑的是那个System.Collections.CollectionBase类。。它提供了两个受保护的属性ListInnerList,为什么它的属性可以通过IList接口访问项。而用法是List.Add()?这个表达让我更不懂了
解决方案六:
在C#中选择正确的集合进行编码http://www.cnblogs.com/luminji/archive/2011/03/24/1993393.html
解决方案七:
卡在那就跳过去,等你用到时再去理解就快多了
解决方案八:
List属性InnerList属性能通过接口访问项..这里我很不明白
解决方案九:
求大虾帮忙
解决方案十:
引用3楼hamber_bao的回复:
对于C#中的初学者而言,先了解四种集合就足够了。两种普通集合:ArrayListHashTable两种泛型:List<T>Dictionary<string,value>给LZ讲解一下这四种集合的用法一、ArrayList数组相信楼主肯定了解过,数组是有长度限制的。在使用数组之前必须确定数组的长度。但是我们很多时候,是在程序运行过程……
三楼写了好多,谢谢,我也正看到集合,学习了。
解决方案十一:
先去看看高中数学和离散数学
解决方案十二:
引用9楼wangxupeng_cn的回复:
引用3楼hamber_bao的回复:对于C#中的初学者而言,先了解四种集合就足够了。两种普通集合:ArrayListHashTable两种泛型:List<T>Dictionary<string,value>给LZ讲解一下这四种集合的用法一、ArrayList数组相信楼主肯定了解过,数组是有长度限制的。在使用数组之前必须确定数组的长度。但是我们很多……
客气了。
解决方案十三:
引用4楼luxiangwei1314的回复:
LS的谢谢是有一定的帮助;我现在比较困惑的是那个System.Collections.CollectionBase类。。它提供了两个受保护的属性ListInnerList,为什么它的属性可以通过IList接口访问项。而用法是List.Add()?这个表达让我更不懂了
IList<T>是个接口,现在提倡面向接口编程。类如果实现了这个接口,那么接口的东西在本类中实现后,就可以用了。至于你说的那个问题,你可以学习一下父类和子类之间的关系。更重要的是你必须要知道里氏替换原则,这个原则通俗来讲就是:子类对象可以出现在任何父类对象可以出现的地方。
解决方案十四:
ILIST里面需要你自己实现操作代码LIST已经帮你搞定了
解决方案十五:
简单明了,又没错过重点,不过得多练习才能具体掌握引用3楼hamber_bao的回复:
对于C#中的初学者而言,先了解四种集合就足够了。两种普通集合:ArrayListHashTable两种泛型:List<T>Dictionary<string,value>给LZ讲解一下这四种集合的用法一、ArrayList数组相信楼主肯定了解过,数组是有长度限制的。在使用数组之前必须确定数组的长度。但是我们很多时候,是在程序运行过程中,才可以确定存储数据……
解决方案:
学会自己查msdn
解决方案:
引用3楼hamber_bao的回复:
对于C#中的初学者而言,先了解四种集合就足够了。两种普通集合:ArrayListHashTable两种泛型:List<T>Dictionary<string,value>给LZ讲解一下这四种集合的用法一、ArrayList数组相信楼主肯定了解过,数组是有长度限制的。在使用数组之前必须确定数组的长度。但是我们很多时候,是在程序运行过程……
这些使用的频率很高的,楼主可以看看。
解决方案:
该回复于2011-11-15 13:55:58被版主删除
解决方案:
照着列子敲一边,边敲边理解
解决方案:
引用3楼的回复:
对于C#中的初学者而言,先了解四种集合就足够了。两种普通集合:ArrayListHashTable两种泛型:List<T>Dictionary<string,value>给LZ讲解一下这四种集合的用法一、ArrayList数组相信楼主肯定了解过,数组是有长度限制的。在使用数组之前必须确定数组的长度。但是我们很多时候,是在程序运行过程中,才可以确定存储数据……
有用,谢谢好人了
解决方案:
支持3L