相关疑难解决方法(0)

为什么"返回数组的属性容易出现代码效率低下"?

我有一段代码处理存储在数据库中的客户.有一个对象Customer,它有两个类型的属性byte[]:一个用于密码盐,另一个用于密码哈希.

使用FxCop检查代码,我看到它抱怨(CA1819,性能规则):

"返回数组的属性容易导致代码效率低下.考虑使用集合或将其作为方法.有关详细信息,请参阅设计指南."

并建议:

"更改'Customer.PasswordHash'以返回集合或使其成为方法."

我真的不明白,我正在做的代码效率低下是什么?

oop performance fxcop

9
推荐指数
1
解决办法
877
查看次数

CA1819:属性不应返回数组。此规则是否也适用于其他对象?

关于CA1819 msdn性能警告规则:

属性返回的数组不受写保护,即使该属性是只读的。为了保持数组防篡改,该属性必须返回数组的副本。通常,用户不会理解调用此类属性对性能的不利影响。具体来说,他们可能会将该属性用作索引属性。

我想知道其他对象在由属性返回时是否可变,或者这是否只发生在数组中?如果它只对数组有效,为什么?

c# arrays msdn code-analysis visual-studio-2012

5
推荐指数
1
解决办法
2745
查看次数

标签 统计

arrays ×1

c# ×1

code-analysis ×1

fxcop ×1

msdn ×1

oop ×1

performance ×1

visual-studio-2012 ×1