对于我需要传递给只接受数组或列表的方法的每个* Collection(

HtmlNodeCollection,TreeNodeCollection,CookieCollection等)类实例(例如,不应该有一个接受

TreeView中的TreeNodeCollection的方法?)我必须写一个像这样的扩展方法:

public static TreeNode[] ToArray(this TreeNodeCollection nodes)

{

TreeNode[] arr = new TreeNode[nodes.Count];

nodes.CopyTo(arr, 0);

return arr;

}

或者遍历整个集合,将项添加到输出列表,然后将输出列表转换为数组:

public static TreeNode[] ToArray(this TreeNodeCollection nodes)

{

var output = new List();

foreach (TreeNode node in nodes)

output.Nodes(node);

return output.ToArray();

}

所以,我的问题是:

我经常需要这种扩展方法.如果列表很大,它可能会分配大量内存,通常是这样.为什么我不能只获得这个* Collection类使用的内部数组的引用(而不是复制),这样我就不需要使用那些扩展并执行这些内存分配了?甚至提供ToArray()方法.我们不需要知道它在最后一种情况下使用的内部实现或数组.

HTML页面把list转成array,c# – 将Collection转换为Array或List的快速方法?相关推荐

  1. php中html页面时间戳直接转换成具体日期的写法

    php中html页面时间戳直接转换成具体日期的写法 **{$v.time|date="Y-m-d H:i:s",###}**

  2. array用法 numpy_关于Numpy Array的使用技巧整理

    关于Numpy Array的使用技巧整理 1. 数组的扩展:repeat & tile repeat方法:实现按元素复制扩展 输入:(需要扩展的array),repeats向量,轴向axis( ...

  3. 转https_PDF怎么转成JPG最简单?分享免费的PDF转图片方法

    PDF怎么转成JPG最简单?能够独立完成PDF文件转换是我们日常工作中需要掌握的一项技能,PDF转换方面就有PDF转Word.PDF转PPT.PDF转图片等,也包括Word转PDF.PPT转PDF.图 ...

  4. char数组转换成字符串_将字符串转换为char数组java –将字符串转换为char

    char数组转换成字符串 Sometimes we have to convert String to the character array in java programs or convert ...

  5. Java中List转换为Array与Array转换为List

    转自[http://hi.baidu.com/fandywang_jlu/blog/item/9daf25175be717094a90a7a6.html] 今天写代码遇到一个奇怪的问题,具体代码不贴出 ...

  6. 怎么把webp格式转换成jpg,webp转jpg的四种快速方法

    怎么把webp格式转换成jpg?我们知道目前WebP与jpg相比较,编码速度慢10倍,解码速度慢1.5倍. 解码方面,WebP虽然会增加额外的解码时间,但由于减少了文件体积,缩短了加载的时间,页面的渲 ...

  7. 怎么把视频音乐提取成mp3,5个快速方法易学易懂

    怎么把视频音乐提取成mp3?将视频音乐提取成MP3格式,是指将视频文件中的音频部分提取出来,并将提取出的音频文件转换成MP3格式.这样能够更方便地进行编辑.传输和分享等操作. 一般来说,视频资源中的音 ...

  8. string字符串转换为array(互换)

    将string字符串转换为array数组 NSArray  *array = [Str componentsSeparatedByString:@","]; 反向方法 将array ...

  9. Java黑皮书课后题第6章:**6.25(将毫秒转化成小时、分钟、秒数)使用下面的方法头,编写一个将毫秒数转换成小时数、分钟数和描述的方法,返回形式如“小时:分钟:秒“

    6.25(将毫秒转化成小时.分钟.秒数)使用下面的方法头,编写一个将毫秒数转换成小时数.分钟数和描述的方法,返回形式如"小时:分钟:秒" 题目 题目描述 破题 代码 运行实例 题目 ...

最新文章

  1. 3D滚动下拉菜单-简直不要太任性
  2. 如何在生产环境部署K2的流程
  3. C#使用属性进行之传递查询报表
  4. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )
  5. 多态及其内部原理剖析
  6. (71)APC队列,KAPC结构,分析 TerminateThread ,QueueUserApc
  7. Linux Shell特殊字符和控制字符
  8. Linux进程线程学习笔记:运行新程序
  9. 解析xml_Mybatis中mapper的xml解析详解
  10. 经典面试题 | 讲一下垃圾回收器都有哪些?
  11. 【clickhouse】clickhouse配置多块磁盘
  12. 超20GB显存怪兽!RTX 30或于9月9日发布,AMD蓄力卡皇之争
  13. 深圳大学本科毕业论文答辩PPT模板
  14. 组网[ZeroTier]+自建Moon服务
  15. java 加权平均_SPSS用加权平均值计算百分位数
  16. CentOS7常见问题
  17. 程序员必学电脑计算机专业英语词汇 07 (142 单词)
  18. R包SangerSeqR处理ab1数据
  19. 计算安全和无条件安全
  20. 第三章 Python基础——文件操作函数

热门文章

  1. idea中leetcode提示未登录_IntelliJ IDEA中LeetCode插件配置问题代码解析
  2. c语言函数简单注释模板,C语言中的Doxygen注释模板
  3. arm ubuntu 编译boost_Ubuntu交叉编译tslib并移植到嵌入式Linux
  4. get post put delete在vue中传参方式
  5. python提供的三种基本数据类型是()_python基础之基本数据类型
  6. java启动项目报错,org.apache.catalina.lifecycleException..............以及解决方案
  7. MongoDB(一)-- 简介、安装、CRUD
  8. Java File IO
  9. TeraData数据库,将Excel文件存入数据库并取出打开
  10. SilverLight是什么?(来自Csdn)