Type de retour tableau en c# [Résolu]

Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009
- - Dernière réponse : krimog
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 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



 




 
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
24
3
Merci
Salut,

    private int[] test ()
        {
            int[] t = new int[2];
            t[0] = 1;
            t[1] = 2;
            return t;
        }

//appel

            int[] t = test();
            MessageBox.Show(t[1].ToString());

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
0
Merci
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... )

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
0
Merci
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.
Commenter la réponse de Lutinore
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
0
Merci
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>.

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
30
0
Merci
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 ! -
Commenter la réponse de krimog
Commenter la réponse de cs_Bidou
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
30
0
Merci
Merci beaucoup

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
Commenter la réponse de krimog