2

我们可以将 ArrayLists 作为参数传递给 C# 中的方法吗?

4

4 回答 4

18

绝对地。但是,您很少应该这样做。这些天来,您几乎应该总是使用泛型类型,例如List<T>.

此外,在声明方法的参数时,尽可能使用接口是值得的。例如,如果您有这样的方法:

public void SomeMethod(ArrayList list)

然后任何调用它的人都被迫使用ArrayList. List<T>即使他们想使用也无法使用。另一方面,如果您将方法声明为:

public void SomeMethod(IList list)

那么即使您的代码不知道它们,他们也可以使用泛型。

于 2009-04-14T05:31:43.047 回答
5

当然,为什么不:

public void SomeMethod(ArrayList list)
{
    // your code here
}

但是正如 Jon S. 提到的,使用接口而不是硬编码类型是首选。

public void SomeMethod(IList list)
{
    // your code here
}

另见

于 2009-04-14T05:29:09.357 回答
1

是的你可以。

于 2009-04-14T05:29:07.577 回答
0

任何类型都可以作为方法的参数传递。无论是抽象的,还是接口,或值类型,或其他任何东西。

Jon Skeet 提到了接口的使用。是的,它很好,但有一个小陷阱——你不能轻易地从那个方法导航到它的用法。

于 2009-04-14T08:37:46.080 回答