百科问答小站 logo
百科问答小站 font logo



C#中字符串可以使用可变大小的内存,为什么数字不能? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

没看懂字符串可以使用可变大小的内存是什么意思?

是指字符串实例大小有大有小么?


这是因为字符串是不需要运算的啊,字符串只有一个串联的运算,而这个运算在频繁使用的时候性能太差以至于需要StringBuilder的帮忙。

另外这本书的解释也非常匪夷所思,数值分不同类型是为了避免浪费内存?!


哦买噶,内存虽然紧张却不是我们不能把所有的整形都定义成long的根本原因吧。

根本原因是long和int的运算空间大小不同啊!long是64位的,就算32位的加法运算和64位的加法运算所用的CPU的周期是一样的,但是一个64位的数会占据更多的CPU缓存区和寄存器。从而直接影响性能,另外32位的CPU应该没有64位的运算指令吧,这样一个64位的运算要转换成很多个32位的指令来运算,性能更是直线下降啊。


就程序里面能出现的那些需要运算的整型值,能占多少内存啊。



还有,其实也有可变长度的整型,在.NET Framework 4提供了官方的实现,System.Numerics.BigInteger。




  

相关话题

  编程中,有哪些好的习惯从一开始就值得坚持? 
  大三下学期了,比较熟悉C#但哪都看到JAVA薪资和发展都比.net好,想转学JAVA,还来得及吗? 
  23岁曾放弃编码,现想重新编码,我该如何做? 
  求BAT代码或C语言代码如何自动复制剪切板文本并分行保存一个txt? 
  为什么不能计算两次哈希,以及在什么情况下不能计算两次哈希? 
  可不可以用文言文再创造一种编程语言? 
  汉语编程只需要学习几十个汉字就可以编程了,外国人为什么不能汉语编程呢? 
  如何零基础入门 Python? 
  请问#define PI 3.1416比float pi=3.1416有什么优势呢? 
  ASP.NET异步改造代码性能不升反降? 

前一个讨论
能不能设计出一个终极傻瓜编程软件,让普通人可以完美编程?
下一个讨论
是否所有的有限数列都可以由相应的一个公式生成?





© 2025-01-18 - tinynew.org. All Rights Reserved.
© 2025-01-18 - tinynew.org. 保留所有权利