new int[0] 和 new int[] 之间有啥区别吗[重复]
Posted
技术标签:
【中文标题】new int[0] 和 new int[] 之间有啥区别吗[重复]【英文标题】:Is there any difference between new int[0] and new int[] [duplicate]new int[0] 和 new int[] 之间有什么区别吗[重复] 【发布时间】:2017-10-17 22:13:34 【问题描述】:我想初始化一个新的 int 数组。
有什么优点:
var myNewArray = new int[];
还有:
var myNewArray = new int[0];
我应该更喜欢哪一个,还是只是代码风格的问题?
【问题讨论】:
看这里:***.com/questions/5678216/… @Bartosz 感谢您的链接。但是,这是关于使用项目初始化数组。我特别想要一个空数组。 没有区别。但从 NET4.6 开始,首选方法是使用Array.Empty<T>()
,它返回一个单例实例。
@IvanStoev 非常感谢!我知道 Enumerable.Empty 但不知何故忽略了 Array没有区别。两者都产生相同的 IL:
IL_0000: nop
IL_0001: ldc.i4.0
IL_0002: newarr System.Int32
IL_0007: stloc.0 // myNewArray
IL_0008: ret
【讨论】:
以上是关于new int[0] 和 new int[] 之间有啥区别吗[重复]的主要内容,如果未能解决你的问题,请参考以下文章
type = (int) (((Math.random())*(new Date().getTime())*10)%4) 这句话是啥意思,产生啥样的结果?