Retour des deux listes en C#
J'ai fait des recherches sur ce depuis un moment maintenant, et je suis encore indécis sur la façon de mettre en œuvre et quelle est la meilleure façon de retourner deux listes à partir d'une autre méthode?
Je sais qu'il y a question similaire, flottant autour, mais ils semblent contredire les uns les autres à qui est le meilleur moyen pour ce faire.
J'ai juste besoin simple et efficace pour la résolution de mon problème.
Merci à l'avance.
- Retour List<List<int>>
- Voir stackoverflow.com/a/635934/552420 La accepté de répondre, il décourage l'utilisation de ref et en C# car il ne devrait pas être nécessaire, sauf pour Essayer des méthodes.
Vous devez vous connecter pour publier un commentaire.
Il existe de nombreuses façons.
Renvoyer une collection de listes. Ce n'est pas une belle façon de le faire, à moins que vous ne connaissez pas la quantité de listes ou si elle est plus que 2 à 3 listes.
Créer un objet avec des propriétés de la liste et de le retourner:
Retour un tuple de deux listes - Particulièrement pratique si vous travaillez avec des
C# 7.0 tuples
Tuples avant C# 7.0:
J'irais pour les options 2 ou 3 en fonction du style de codage et où ce code s'inscrit dans la plus grande portée. Avant C# 7.0 je recommenderais sur l'option 2.
ref
etout
. À l'aide de ceux qui vont le faire à la signature plus sujettes à changement où les autres solutions ne le sont pas.Méthode 1
Méthode 2
Méthode 3
Créer une classe qui ont 2 accessoires de la liste 1, liste 2, le retour de cette classe, ou tout simplement le retour de tableau de listes
et enfin sur le C# 7 il vous suffit de faire
Si vous utilisez la version ultérieure .NET et C# il suffit ensuite d'utiliser des n-uplets (vous devrez peut-être Installer le Paquet "du Système.ValueTuple")
Vous pourriez chercher à structurer votre retour dans un Tableau À Deux Dimensions.
Il s'agit essentiellement d'une liste de listes et peut être visualisé comme un graphe où chaque à "coordonner" contient une valeur.
Voici un exemple de création d'un tableau en 2 Dimensions, l'ajout d'une valeur de point de [0,2] et l'obtention de sa valeur à partir de ce point et de l'écrit à l'écran:
De sortie:
21.2
Vous devez passer les deux listes de votre choix comme une référence à la fonction appelante.
Par exemple
Une meilleure pratique de l'OMI serait de passer deux listes de votre choix de la méthode et de l'initialisation /affectation de l'intérieur de la méthode elle-même.
Exemple: