Maison > développement back-end > C++ > Les méthodes de retour de collection doivent-elles renvoyer une collection nulle ou vide en C# ?

Les méthodes de retour de collection doivent-elles renvoyer une collection nulle ou vide en C# ?

Patricia Arquette
Libérer: 2025-01-25 15:06:11
original
852 Les gens l'ont consulté

Should Collection-Returning Methods Return Null or an Empty Collection in C#?

C # Collection Valeur de retour: renvoyer la collection null ou vide?

Lors de la rédaction de la méthode de retour d'une collection, vous rencontrez souvent un problème: revient-il à Null ou revient à une collection vide? En C #, la suggestion des meilleures pratiques est toujours retournée à ce dernier.

Le retour null apportera des problèmes potentiels. Le code qui dépend de la collection peut rencontrer des vérifications d'air et des anomalies, entraînant des comportements inattendus. Considérez l'exemple suivant:

Afin d'éviter ces problèmes, ils reviennent toujours à la collection vide. Cela peut garantir que le code peut gérer la collection en toute sécurité, quel que soit son contenu.

Pour les attributs, il est préférable de le définir une seule fois, puis de le garder inchangé. Utilisez le mode suivant:
<code class="language-csharp">if (myInstance.CollectionProperty != null) {
    foreach (var item in myInstance.CollectionProperty) {
        /* 此处可能出现问题 */
    }
}</code>
Copier après la connexion

Dans .NET 4.6.1, il peut être simplifié à:

Pour la méthode de retour à l'énumération de type, vous pouvez facilement renvoyer le type d'énumération disponible vide au lieu de Null:
<code class="language-csharp">public List<foo> Foos { get; private set; }

public Bar() { Foos = new List<foo>(); }</code>
Copier après la connexion

L'utilisation de est plus efficace que le retour d'un ensemble ou d'un tableau vide créé par le récompensé.
<code class="language-csharp">public List<foo> Foos { get; } = new List<foo>();</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal