cs_baby85
Messages postés79Date d'inscriptionmercredi 22 octobre 2008StatutMembreDernière intervention17 juin 2009
-
28 avril 2009 à 18:49
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
29 avril 2009 à 12:16
salut,
je veux savoir est-il possible d'avoir une methode de type de retour tableau en c#
Merci d'avance
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 28 avril 2009 à 22:41
Salut,
Oui c'est possible, mais sauf erreur ça fait partie des best pratices de l'éviter au maximum (je sais plus pourquoi mais j'ai en tête une question de performance... )
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 29 avril 2009 à 08:11
Bidou, une question, de perf ? Non je ne pense pas, après tout ce n'est qu'une référence qui est retournée..
Ce qui est ennuyeux c'est de retourner une référence sur un tableau membre d'une classe, bien souvent on est obligé de renvoyer une copie, ça c'est coûteux en perf.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 29 avril 2009 à 09:27
Oui c'est cela :)
C# 3.0 Coding Guidelines - Guidelines for .NET development
Don’t return an array
This allows calling code to change the items in the array. Even though callers cannot replace the array itself with another array, they can still replace an item within the array with another item. This may cause unexpected effects within the class that owns the array. Instead, return an
IEnumerable<T>, or, if the number of items is important for the caller, an ICollection<T>.
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 29 avril 2009 à 11:01
Salut
Intéressant, Bidou. (Tu as trouvé ça sur quel site d'ailleurs ?)
Cependant, un tableau a l'avantage d'être serialisable contrairement à un IEnumerable si mes souvenirs sont corrects.
Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -