我有一系列数据会不时被清零。为此,我应该实例化一个新数组,还是使用Array.Clear方法?
例如,
int workingSet = new int[5000];
// Other code here
workingSet = new int[5000];
// or
Array.Clear(workingSet, 0, 5000);
答案 0 :(得分:8)
当您创建一个新数组而不是旧数组时,C#将:
当你保留一个旧数组时,C#将
其他条件相同,第二种方法更有效。
答案 1 :(得分:2)
如果在许多地方引用了数组,则使用Clear()
会更安全,因为它可以保证同一数组的所有实例继续引用相同的数组。
答案 2 :(得分:1)
当你拥有一个大型数组时,数组清除通常具有更好的性能....我的意思是成千上万的元素。否则对于小阵列只需使用new。如果您在代码中的其他位置使用此数组,例如在线程之间,你应该使用clear来确保每个线程都可以使用归零/默认数组
您可以使用一些秒表机制或分析工具轻松自行检查