Je travaillais sur une fonction dont j'avais besoin pour retourner deux valeurs, l'une étant un nom de colonne et l'autre étant la valeur de cette colonne pour cette ligne courante. Je retourne KeyValuePair (de String, Object). Je me demandais si c'est une bonne idée ou est-ce que ça rend difficile à lire/utiliser?Est-il acceptable de renvoyer un KeyValuePair d'une fonction .NET?
4
A
Répondre
7
S'il s'agit véritablement d'une paire valeur/clé, cela semble plutôt raisonnable. .NET 4.0 inclura une classe Tuple
appropriée pour les cas où il n'y a pas de relation clé-valeur. L'alternative est d'utiliser les paramètres out/ref, en laissant l'appelant décider s'il faut garder les valeurs ensemble - mais je préfère l'approche KeyValuePair
quand il y a une relation évidente et l'appelant voudra probablement les garder combinés.
Questions connexes
- 1. KeyValuePair VS DictionaryEntry
- 2. Est-il toujours acceptable de renvoyer True lorsque le paramètre Equals est une référence nulle?
- 3. C# - Supprimer un élément de la liste de KeyValuePair
- 4. ASP MVC.NET - comment lier KeyValuePair?
- 5. Renvoyer plusieurs auto_ptrs à partir d'une fonction
- 6. Comment renvoyer un DataTable à partir du service Web .Net?
- 7. Retourne KeyValuePair ou utilise une variable en C#?
- 8. Delphi: Est-il acceptable pour un formulaire de se libérer?
- 9. Données de base: Renvoyer les propriétés en fonction d'une valeur
- 10. Création d'un KeyValuePair en C++ géré
- 11. Propriété vs Fonction (spécifiquement .NET)
- 12. Renvoyer un pointeur d'une classe
- 13. Puis-je demander à CakePHP de renvoyer un code d'état approprié en fonction de certaines conditions?
- 14. Fonction TSQL pour renvoyer le nombre de lignes dans un jeu de résultats à partir d'une fonction
- 15. Une méthode Ruby peut-elle produire un itérateur ou renvoyer un tableau en fonction du contexte?
- 16. Requête LINQ pour renvoyer un dictionnaire <string, string>
- 17. Comment renvoyer une chaîne composée dans une fonction ToString substituée?
- 18. Les 32 premiers bits d'un hachage SHA1 de 160 bits sont-ils un substitut acceptable pour un hachage CRC32?
- 19. Renvoyer un type de données différent en fonction des données (C++)
- 20. Renvoyer une énumération à partir d'une fonction dans C?
- 21. Est-il acceptable d'inclure un identifiant dans l'URL?
- 22. Vérifiez si KeyValuePair existe avec FirstOrDefault de LINQ
- 23. .Net Envoyer un message à minuit en fonction de TimeZone?
- 24. Fonction pour trouver et renvoyer la correspondance d'une expression régulière
- 25. Pourquoi KeyValuePair nullable <,> n'a aucune propriété de clé?
- 26. Comment renvoyer une valeur d'une application de console à un service dans .NET?
- 27. Est-il acceptable de muter des objets avec std :: for_each?
- 28. Renvoyer un tableau en recherchant des bits?
- 29. Renvoyer un objet en retournant un tuple
- 30. Est-il acceptable d'utiliser .NET MembershipProvider pour avoir plusieurs "applications" virtuelles sur une application Web?
S'il n'y a pas de relation KVP, créez simplement votre propre classe simple encapsulant ce que vous renvoyez. Dans l'exemple fourni KeyValuePair semble OK. –