Ars*_*nko 9 oop performance fxcop
我有一段代码处理存储在数据库中的客户.有一个对象Customer,它有两个类型的属性byte[]:一个用于密码盐,另一个用于密码哈希.
使用FxCop检查代码,我看到它抱怨(CA1819,性能规则):
"返回数组的属性容易导致代码效率低下.考虑使用集合或将其作为方法.有关详细信息,请参阅设计指南."
并建议:
"更改'Customer.PasswordHash'以返回集合或使其成为方法."
我真的不明白,我正在做的代码效率低下是什么?
问题是数组总是可变的。这意味着如果没有以下任一方法,您就无法从方法返回一个:
如果您使用集合,则可以围绕真实集合创建一个只读包装器,然后返回该集合 - 这可能会便宜得多。或者,如果将其更改为会降低调用速度的期望的方法。
当然,如果您对调用者改变您的数据感到满意,那么数组就可以正常工作......