【发布时间】:2011-12-10 21:11:07
【问题描述】:
我之前遇到过这个 FxCop 规则,对如何解决违规问题并不满意(thread1、thread2)。我现在有另一个案例,我需要更正违反 CA1819 类型的行为。
具体来说,我有一个算法库,可以对曲线 (x,y) 执行一些分析计算,其公共“输入对象”如下所示:
public class InputObject
{
public double[] X { get; set; }
public double[] Y { get; set; }
// + lots of other things well
}
该对象的 X 和 Y 属性在库中的数百个位置使用,通常使用索引。输入对象永远不会被算法改变,但实际上它应该没有关系。此外,.Length 也经常被调用。这是一个数学库,double[] 是其中的一种标准数据类型。无论如何,修复 CA1819 需要相当多的工作。
我考虑过使用List<double>,因为列表支持索引并且与数组非常相似,但我不确定这是否会减慢算法速度,或者 FxCop 是否会对这些列表感到满意。
替换这些double[] 属性的最佳选择是什么?
【问题讨论】:
-
@skk 这是问题链接到的“thread1”...
-
(注意必须对尖括号进行编码格式才能显示)