社区
C#
帖子详情
C#中有没有整数的集合类
runrunrun
2003-01-16 08:15:49
我需要用到一个整数的集合类,发现只能用到框架提供的 ArrayList 类。
但用到这个类有两个问题:
1. 由于ArrayList保存的实际是object类型,因此所有的整数被装进去时,
都要先装箱,取出来时再拆箱。 效率上可想而知有多低
2. 没有了类型检查。任何对象都能放到这个集合中。
有点怀念C++中的模板,觉得C#中去除了模板是一处败笔,毕竟模板是基于
语言而不是基于平台的,加上了模板并不会影响.net平台的通用性,
不知大家有什么看法
...全文
65
11
打赏
收藏
C#中有没有整数的集合类
我需要用到一个整数的集合类,发现只能用到框架提供的 ArrayList 类。 但用到这个类有两个问题: 1. 由于ArrayList保存的实际是object类型,因此所有的整数被装进去时, 都要先装箱,取出来时再拆箱。 效率上可想而知有多低 2. 没有了类型检查。任何对象都能放到这个集合中。 有点怀念C++中的模板,觉得C#中去除了模板是一处败笔,毕竟模板是基于 语言而不是基于平台的,加上了模板并不会影响.net平台的通用性, 不知大家有什么看法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yarshray
2003-01-19
打赏
举报
回复
>>1. 由于ArrayList保存的实际是object类型,因此所有的整数被装进去时,
都要先装箱,取出来时再拆箱。 效率上可想而知有多低
我是这样理解的,因为C#中没有指针(unsafe除外).必须要用引用类型,所以
box和unbox是必然的
>> 2. 没有了类型检查。任何对象都能放到这个集合中。
这不就实现了类似与C++中template的功能(是功能上的,不是实质上的)
当然,下一个版本据说会加入模版.
runrunrun
2003-01-19
打赏
举报
回复
to windyyang(风萧萧) :
int[] a; 中的 a 能当集合类吗?
那我需要的两个集合操作 add(int) 和 bool find(int) 不知a 能否提供.
to ssdjmcj8048:
你指的是物理结构,而我需要的逻辑结构. 也许你还没有明白两者的区别.
在数据结构中,我们可以把一个逻辑上的链表存储在一个数组中,也可以把
一个逻辑上的数组放到一个物理上的链表中.
还是TheAres(班门斧)讲得中肯一点,也许我们只有等待以后的版本了.
ssdjmcj8048
2003-01-19
打赏
举报
回复
ArrayList:
[n个元素]->[n个元素]->[n个元素]->...
每[n个元素]是一个数组。但实际上整体是一个链表结构
Lostinet
2003-01-19
打赏
举报
回复
倒....ArrayList是链表?
ArrayList是IList的实现。用Array做前缀,就已经告诉我们它是用Array来储存元素的了。
..
windyyang
2003-01-19
打赏
举报
回复
见:
ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemarrayclasstopic.htm
windyyang
2003-01-19
打赏
举报
回复
a其实就是使用类Array定义的
windyyang
2003-01-19
打赏
举报
回复
如果你要整形集合,可以这样定义:
int[] a;
a就可以当一个集合操作!
idiotzeng
2003-01-18
打赏
举报
回复
斑竹以前教鱼游泳的:)
ssdjmcj8048
2003-01-18
打赏
举报
回复
你要的集合类,在历史上就是不存在的,将来也是不会存在的(现有的编程结构)。
数据结构讲得很清楚,要么数组,要么链表,这是两个基本的数据存储方式,两个相矛盾的存储方式。
ArrayList实际上是一个链表,奇特的链表。ArrayList是这样工作的,初识哈是制定一个基本大小,默认是1000,也就说ArrayList是1000个位一组的链表而已。
runrunrun
2003-01-16
打赏
举报
回复
谢谢,我看看先
TheAres
2003-01-16
打赏
举报
回复
To 一条不会游泳の鱼:
很多集合类啊.
NET 框架在 System.Collections 命名空间中提供了若干集合类型的类。
ms-help://MS.VSCC/MS.MSDNVS.2052/Vbcon/html/vaconCreatingYourOwnCollectionClass.htm
你可以自己写一个,上面的连接中就有演示.
>>觉得C#中去除了模板是一处败笔
NET会在今后的版本中支持,看看这个
http://research.microsoft.com/projects/clrgen/
定义一个
整数
集合类
及相关运算
定义一个
整数
集合类
添加一个元素 删去一个元素 两个集合是否相等 集合的与、差、并、交
【
C#
进阶】
C#
集合类
hello大家好啊,我是哈桑,本章为大家介绍
C#
中
的
集合类
。
集合类
是专门用于数据存储和检索的类。在这些类
中
实现了对列表、队列、哈希表等数据结构的封装以及对操作数据的支持。当在项目
中
需要对不同场景的数据进...
C#
中
各种
集合类
比较
数组(Array)的不足(即:集合与数组的区别) 1. 数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的...
集合类
可以提供Re
C#
中
的集合
集合与数组比较类似,都用于存放一组值,但集合
中
提供了特定的方法能直接操作集合
中
的 数据,并提供了不同的
集合类
来实现特定的功能。 集合简单的说就是数组的升级版。他可以动态的对集合的长度(也就是集合内最大...
用
C#
实现两个
整数
集的输入和并集
用
C#
实现从标准输入
中
输入两组
整数
(每行不超过20个
整数
,每组
整数
中
元素不重复),合并两组
整数
,去掉在两组
整数
中
都出现的
整数
,并按从大到小顺序排序输出(即两组
整数
集“异或”)。
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章