Heim > Backend-Entwicklung > C++ > Sollten Methoden, die Sammlungen zurückgeben, Null oder eine leere Sammlung in C# zurückgeben?

Sollten Methoden, die Sammlungen zurückgeben, Null oder eine leere Sammlung in C# zurückgeben?

Patricia Arquette
Freigeben: 2025-01-25 15:06:11
Original
852 Leute haben es durchsucht

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

C# Sammlung Rückgabewert: Rückgabe null oder leerer Sammlung?

Beim Schreiben der Methode zur Rückgabe einer Sammlung stoßen Sie häufig auf ein Problem: Kehrt sie zu Null zurück oder kehrt zu einer leeren Sammlung zurück? In C#wird der Best -Practice -Vorschlag immer in letztere zurückgegeben.

Null -Rückkehr führt zu potenziellen Problemen. Der Code, der von der Sammlung abhängt, kann auf Luftprüfungen und -störungen stoßen, was zu unerwarteten Verhaltensweisen führt. Betrachten Sie das folgende Beispiel:

Um diese Probleme zu vermeiden, kehren sie immer zur leeren Sammlung zurück. Dies kann sicherstellen, dass der Code die Sammlung unabhängig von seinem Inhalt sicher verarbeiten kann.

Für Attribute ist es am besten, es nur einmal einzustellen und dann unverändert zu halten. Verwenden Sie den folgenden Modus:
<code class="language-csharp">if (myInstance.CollectionProperty != null) {
    foreach (var item in myInstance.CollectionProperty) {
        /* 此处可能出现问题 */
    }
}</code>
Nach dem Login kopieren

In .NET 4.6.1 kann es vereinfacht werden zu:

Für die Methode zur Rückkehr zum Aufzählen von Typ können Sie den leeren verfügbaren Aufzählungstyp anstelle von Null:
<code class="language-csharp">public List<foo> Foos { get; private set; }

public Bar() { Foos = new List<foo>(); }</code>
Nach dem Login kopieren
problemlos zurückgeben:

<code class="language-csharp">public List<foo> Foos { get; } = new List<foo>();</code>
Nach dem Login kopieren
Die Verwendung von ist effektiver als die Rückgabe eines leeren Satzes oder Arrays, das von den belohnten erstellt wurde.

Das obige ist der detaillierte Inhalt vonSollten Methoden, die Sammlungen zurückgeben, Null oder eine leere Sammlung in C# zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage