我有改变List类型的参数的函数(改变内部对象状态).例如:
public void ChangeList<T>(List<T> source, T value)
{
//Actions
source.Add(value);
//Actions
}
Run Code Online (Sandbox Code Playgroud)
什么是功能签名更好?为什么?
第一: public void ChangeList<T>(List<T> source, T value)
要么
第二: public void ChangeList<T>(ref List<T> source, T value)
编辑:问题可以改变.如何明确指定函数更改列表的状态?(函数名称或ReadonlyCollection除外)
第一个.第二个尖叫着"我不知道是什么ref意思"; 这里完全错了.这真的不是一个风格问题.ref在此上下文中使用的唯一原因是该ChangeList方法是否需要重新分配列表(返回不同的列表实例,而不是按照名称建议,并改变现有列表).在那种情况下,我认为return会更好:
public List<T> TransformBasedOnList<T>(List<T> source, T value) { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |