值
规则 ID
CA1825
类别
“性能”
修复是中断修复还是非中断修复
非中断
原因
分配了一个不包含任何元素的空 Array。
规则说明
初始化长度为零的数组将导致不必要的内存分配。 请改为通过调用 Array.Empty 方法来使用静态分配的空数组实例。 内存分配在此方法的所有调用之间共享。
如何解决冲突
若要解决冲突,请将长度为零的数组分配替换为对 Array.Empty 的调用。 例如,以下两个代码片段显示了规则冲突及其解决方法:
class C
{
public void M1()
{
// Violates rule CA1825.
var a = new int[0];
}
}
class C
{
public void M1()
{
// Resolves rule CA1825 violation.
var a = System.Array.Empty<int>();
}
}
提示
Visual Studio 中为此规则提供了代码修补程序。 若要使用该修补程序,请将光标置于数组分配上,然后按 Ctrl+. (句点)。 从显示的选项列表中选择“使用 Array.Empty”。
何时禁止显示警告
如果不在乎额外的内存分配,可禁止显示此规则的冲突。
相关规则
CA1814:与多维数组相比,首选使用交错数组
另请参阅
性能规则
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有