我需要知道在方法中使用相同的输入参数而不将它们分配给方法局部变量是否是一种好习惯。以下代码块可以更清楚地描述查询。
方式一:输入参数在方法内部使用
public int SumValues(List<int> pLValues)
{
int _sum = 0;
for (int i = 0; i < pLValues.Count; i++)
{
_sum = +pLValues[i];
}
return _sum;
}
选项 2:分配给局部变量并在方法内部使用它。
public int SumValues(List<int> pLValues)
{
int _sum = 0;
List<int> _lVal = pLValues;
for (int i = 0; i < _lVal.Count; i++)
{
_sum = +_lVal[i];
}
return _sum;
}
请告诉我什么是最好的方法,为什么?
最佳答案
声明另一个局部变量没有任何好处,所以不要这样做。 (把一个参数想象成一个局部变量,它被明确指定为开始。)
如果你有一个 ref
参数并且您不想更改该值,然后诚然,将它复制到一个新的局部变量中是有意义的。当然,如果您以后需要原始值,也是如此。
不过,我会对您的代码进行各种更改:
- 我会使用 LINQ 的
Sum
当然是开始的方法:) - 我会放弃你为变量设置的前缀
- 我可能会将输入类型更改为
IEnumerable<int>
- 我会使用
foreach
循环而不是按索引获取
关于c# - 在方法中使用输入参数是一种好习惯吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13459102/