社区
C#
帖子详情
c#中集合比较Span,ArrayPool ArraySegment
jason成都
2019-05-05 04:50:14
最近复习c#,发现了集合,不不知道谁实践使用用,他们有什么区别
...全文
593
4
打赏
收藏
c#中集合比较Span,ArrayPool ArraySegment
最近复习c#,发现了集合,不不知道谁实践使用用,他们有什么区别
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangzifang
2020-12-14
打赏
举报
回复
ArraySegment性能低,建议用Span代替
wanghui0380
2019-05-05
打赏
举报
回复
ArrayPool 其实已经不在集合里面了,他实际是池。已经不是集合了,都知道集合操作是添加,移除,和,差,并,补,拆分,合并 但池关注的是取用和归还。比如阿里的“备用金”也就是一个 “资金池” ArraySegment 则是避免copy,我们以前经常写 byte[] Array.copy,这是需要分配内存的,而ArraySegment则让你别copy,用一个范围表示就好。他关注的是一份数据,用范围划分。他也带有一定“池的意思”,只是用这个当池麻烦点,你的不停的判定范围连续性和有效性,占用性。
wanghui0380
2019-05-05
打赏
举报
回复
这些东西平时没啥用,只有当你处理平行处理的时候才会用到。 有大量并行操作,但内存资源紧张,所以使用并发限流手段去控制。------并发限流,同时把有限资源集中一次性分配,然后尽量重复利用(比如NIO) 在没有并行操作的时候,其实一般用不上这个,但是程序员应该多少有些防范性操作,只要不是过分镀金,我个人建议,还是用用
stherix
2019-05-05
打赏
举报
回复
Span,ArraySegment其实都比较类似 都是对已有数组的切片功能,而不要创建新的数组/字符串,避免生成新的对象以及内存拷贝,提高了效率 ArrayPool还没用过
C#
中
数组段用法实例分析
本文实例讲述了
C#
中
数组段用法。分享给大家供大家参考。具体分析如下: 1.数组段说明 ① 结构
Array
S
egment
表示数组的一段。如果某方法应返回数组
中
的一部分,或者给 某方法传递数组的一部分,就可以使用数组段。通过
Array
S
egment
可以传递三个参数 (数组,数组段开始位置,从开始位置选择的元素个数),也可以只传递一个参数 ② 数组段不会复制原数组的元素,但原数组可以通过
Array
S
egment
中
的
Array
属性访问, 如果数组段
中
的元素改变了,则这些变化就会反映到原数组 2.一个例子 private int SumOfS
egment
s(
Array
S
egment
<
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章