Peut-on transmettre ArrayLists comme arguments aux méthodes en C#?ArrayList in C#
Répondre
Absolument. Cependant, vous devriez rarement. Ces jours vous devriez presque toujours utiliser des types génériques, tels que List<T>
.
En outre, lors de la déclaration des paramètres d'une méthode, il est utile d'utiliser des interfaces où vous le pouvez. Par exemple, si vous aviez une méthode comme ceci:
public void SomeMethod(ArrayList list)
alors tout le monde appelle, il est forcé à utiliser ArrayList
. Ils ne peuvent pas utiliser List<T>
même s'ils le veulent. Si comme, d'autre part, vous déclarez votre méthode:
public void SomeMethod(IList list)
alors ils peuvent utiliser les médicaments génériques, même si votre code ne sait pas à leur sujet.
Je ne suis pas totalement d'accord Jon, vous ne devriez pas utiliser ArrayLists sur les interfaces publiques, bien que les tableaux puissent être utilisés en interne (portée privée) pour des raisons de performance. –
Voulez-vous dire tableaux ou arrays? Je ne spécifierais pas ArrayList dans une API interne pour des raisons de performance sans preuve que c'était vraiment significatif ... pas que j'utiliserais une ArrayList de toute façon quand des génériques sont disponibles. –
Liste
oui vous pouvez.
Bien sûr, pourquoi pas:
public void SomeMethod(ArrayList list)
{
// your code here
}
Mais comme Jon S. mentionné l'utilisation d'interfaces est préféré au lieu de types codés durs.
public void SomeMethod(IList list)
{
// your code here
}
Voir aussi:
Tout type peut être passé en argument de la méthode. Qu'il soit abstrait, ou interface, ou type de valeur, ou autre.
Jon Skeet mentionne l'utilisation d'interfaces. Oui, c'est bon, mais vous avez un petit piège - vous ne pouvez pas facilement naviguer de cette méthode à son utilisation.
- 1. Arraylist in Session
- 2. Comment utiliser ArrayList en C++?
- 3. ArrayList to String - VS2008 - C#
- 4. DateTime in C#
- 5. Callbacks in C#
- 6. Printform in C# 2008
- 7. Temperature TextBox In C#
- 8. Namespaces in C#
- 9. uniq in C#
- 10. Pinning IEnumerables in C#
- 11. Round robin in C#
- 12. mshtml.HTMLDocumentClass in C#
- 13. AttachmentCollection attachmentCollection in C#
- 14. Environment.CurrentDirectory in C# .NET
- 15. SQL Server (2008) Passer ArrayList ou chaîne à SP pour IN()
- 16. Remplacement de ArrayList par List <> en C#
- 17. compte arraylist
- 18. Comportement étrange de ArrayList
- 19. checkbox array loop in C#
- 20. Catching Ironpython Exception in C#
- 21. Quelle est l'inverse de (ArrayList) .toString pour une Java ArrayList?
- 22. C# tableau Déplacer un élément (Non ArrayList/Liste générique)
- 23. En comparant deux arraylist en application c windows #
- 24. comment sauver objet à ArrayList comme C# en php
- 25. Comment des données d'union dans ArrayList C# 2.0?
- 26. enregistrer pile dans arraylist
- 27. Blackberry JDE ArrayList?
- 28. chercher dans java ArrayList
- 29. Recherche arraylist d'objets
- 30. Tri de l'objet ArrayList
-1. Vous avez posé cette question plus tôt: http://stackoverflow.com/questions/746898/arraylist-in-session –