接下来的方法是在继承自List<的类A中。 B类>:
// Method A: Updates from specified start to end of list.
public void UpdateItems(int start = 0) {
UpdateItems (
Enumerable.Range (start, this.Count - start).ToArray ()
);
}
// Method B: Updates separate indexes when necessary.
public void UpdateItems(params int[] indexes) {
foreach (int i in indexes)
this [i].id = i + 1;
}
有时需要在不同的索引上更新项属性(例如public int id),有时我只需要一个start-index并从它更新到列表的末尾。我想出了这两个简单的方法,一切都很好,直到我需要在方法B中使用一个简单的params
参数,它被用作方法A的start
。我知道这是为了他们我仍然想测试一下这个名字。
问题:
答案 0 :(得分:1)
实际上你可以用param名称调用方法,例如
UpdateItems(indexes: 1); //Will call method with params
UpdateItems(1); //Will call method with start index
但在我看来,这不是一个好的解决方案。最好有两种不同名称的方法。
使用params调用方法的另一种方法是将整数数组作为方法参数传递
UpdateItems(new [] {1});