我是靠谱客的博主 明理铅笔,最近开发中收集的这篇文章主要介绍C#数组大小分析(附测试过程中想起的debug和release区别),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  C#数组的理论最大长度到底是多少呢?曾经一度问过度娘,谷歌,貌似都没有得出一个比较准确的答案,无外乎是什么Int32的最大值啊什么的,今天终于决定写个软件来自己测试一下,在几台不同的电脑里面实际测试看看到底是多大?

  说干就干,利用二分查找算法分别找出bool数组,int数组,string数组,long数组,float数组等几个常用类型的最大长度,在三台电脑上的结果分别如下:

电脑数组类型boolintstringlongfloat
电脑1-PC2147483591536870897268435447268435448536870897
电脑2-X3650服务器2147483591536870897268435447268435448536870897
电脑3-X250笔记本2147483591536870897268435448268435448

536870897

  电脑1-PC的基本配置:

  电脑2-X3650服务器:

  电脑3-X250笔记本:

  从上面的表格中,可以很清楚的看到,这几个系统环境下各种类型数组的最大长度,有点奇怪的是,string类型数组,三个系统环境有点差别,望高人指点。

 

  PS:编写该测试软件的过程中,发现并体会到了一番debug和release程序的区别了,度娘和谷歌上大多数的说法都是,release更轻量级,做了很多优化,程序运行效率更高,但是真正体现在程序中的是,定义一个数组,比如int[] list = new int[1000],debug中是立即分配了内存空间,而release中,如果不使用是不会分配内存空间的,这就导致我这个测试程序最开始的情况是,debug模式时运行得好好的,而release模式就不正常了,因为我是通过捕获异常来判断系统中该类型数组的最大长度的

转载于:https://www.cnblogs.com/billzhao/p/7680557.html

最后

以上就是明理铅笔为你收集整理的C#数组大小分析(附测试过程中想起的debug和release区别)的全部内容,希望文章能够帮你解决C#数组大小分析(附测试过程中想起的debug和release区别)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部