[英]Array memory allocation in C#
我在徘徊下面的代码哪种方法更好:
a)
byte[] tmp = BitConverter.GetBytes(Number)
b)
byte[] tmp = new byte[sizeof(Number)]
tmp = BitConverter.GetBytes(Number)
是否有必要使用动态内存分配?
绝对是a)。
b)创建两个数组,其中第一个完全不需要,在初始化后立即被丢弃。
实际上第二个是多余的 ,因为GetBytes
返回一个新数组,因此您将丢弃创建的第一个数组...
第一个更好的原因有两个:
tmp
重新分配给GetBytes
的返回值时,第一个分配被丢弃
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.