Heim Backend-Entwicklung C#.Net-Tutorial foreach Beispielcode in C#

foreach Beispielcode in C#

Jun 24, 2017 am 10:00 AM
.net

foreach kann einige Datentypen durchlaufen. Wie aus der Abbildung ersichtlich ist, muss der zu durchlaufende Datentyp über die öffentliche Methode GetEnumerator verfügen.

Bei der Verwendung von foreach Traversal ist der Inferenztyp var beteiligt. Wenn die generische Version zu diesem Zeitpunkt nicht implementiert ist, handelt es sich immer um den Objekttyp.

Foreach-Traversal kann nur Daten lesen, aber keine Daten ändern. Es kann anhand einer Zeichenfolge erkannt werden, aber das Zeichen, aus dem es besteht, kann nicht geändert werden. (Nur in diesem Szenario).

foreach durchläuft nur vorwärts und liest einen nach dem anderen, ähnlich der Read-Methode von DataReader, die die Datenbank betreibt.

Aus der obigen Analyse ist ersichtlich, dass die IEnumerator-Methode innerhalb der Klasse definiert werden muss, um durchlaufen zu werden. Hier gibt es zwei Lösungen.

Methode 1: Yield-Rückgabeausdruck verwenden; wenn der Rückgabewert IEnumerable ist, bedeutet dies, dass automatisch ein iterierbarer Typ generiert wird.

Wenn der Rückgabewert IEnumerator ist, bedeutet dies, dass automatisch ein Iterator generiert wird. Der Typ IEnumerator ist ein Iterator.

Sie können dies verwenden, um beim Durchlaufen den Wert des Personenarrays im Bild oben abzurufen.

Methode 2 Durch Implementierung der IEnumerable-Schnittstelle

IEunmerable enthält die GetEunmetator-Methode und der Rückgabewert ist der Typ von IEnumerator.

Zu diesem Zeitpunkt ist eine andere Klasse erforderlich, um die IEnumerator-Schnittstelle zu erben, damit ihre Unterklasse zurückgegeben werden kann, um den Zweck zu erreichen.

Implementierungsprozess:

1 Eine Variable vom Typ int muss hinzugefügt werden, um die Position des Index zu markieren. Verwenden Sie hier int position=-1.

2. Fügen Sie die entsprechende Array-Variable hinzu, um das übergebene Array zu erhalten. Hier string[] persion;

3 Das implementierte Curren-Attribut muss die Daten des aktuellen Index zurückgeben. return person[position];

4. Um die MoveNext-Methode zu implementieren, müssen Sie 1 zum Zeiger (Index) hinzufügen und vorwärts gehen. Der Rückgabewert ist ein Bool-Typ, der verwendet wird, um zu bestimmen, ob die Index wurde betrieben.

5. Implementieren Sie die Reset-Methode, die die Reset-Methode ist, und weisen Sie die Position -1 zu.

6.

3. Analyse der Listensammlung

Aus dem Reflexionstool ist ersichtlich, dass die Add-Methode der Liste Die Sammlung besteht darin, interne Elemente hinzuzufügen. Fügen Sie einen Wert hinzu, und dieses Element ist ein Array. Da es generisch ist, wird es als T angezeigt.

Das heißt, es gibt eine solche Variable in der Sammlung, um die hinzugefügten Daten zu speichern, genau wie das oben definierte Array. Auf diese Weise wird die List-Sammlungsklasse mit dem oben genannten

angepasst Die obige Definition dient nur zur Veranschaulichung des Prozesses. Natürlich können Sie die oben genannten Klassen aus geschäftlichen Gründen selbst implementieren und erweitern, indem Sie beispielsweise die statischen Daten

ändern, um sie hinzuzufügen und Filterdaten usw. können je nach Geschäftsanforderungen erweitert werden.

Das obige ist der detaillierte Inhalt vonforeach Beispielcode in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie sind die Berufsaussichten von C#? Wie sind die Berufsaussichten von C#? Oct 19, 2023 am 11:02 AM

Ganz gleich, ob Sie Anfänger oder erfahrener Profi sind: Die Beherrschung von C# ebnet den Weg für Ihre Karriere.

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks May 06, 2024 pm 04:43 PM

Die Entwicklung von Technologien der künstlichen Intelligenz (KI) ist heute in vollem Gange und sie haben in verschiedenen Bereichen großes Potenzial und Einfluss gezeigt. Heute wird Dayao Ihnen 4 .NET Open-Source-KI-Modell-LLM-bezogene Projekt-Frameworks vorstellen und hofft, Ihnen einige Referenzen zu geben. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ist ein Open-Source-Softwareentwicklungskit (SDK), das für die Integration großer Sprachmodelle (LLM) wie OpenAI und Azure entwickelt wurde

.NET-Leistungsoptimierungstechnologie für Entwickler .NET-Leistungsoptimierungstechnologie für Entwickler Sep 12, 2023 am 10:43 AM

Wenn Sie ein .NET-Entwickler sind, müssen Sie sich der Bedeutung der Optimierung von Funktionalität und Leistung bei der Bereitstellung hochwertiger Software bewusst sein. Durch den fachgerechten Einsatz der bereitgestellten Ressourcen und die Verkürzung der Ladezeiten der Website schaffen Sie nicht nur ein angenehmes Erlebnis für Ihre Nutzer, sondern senken auch die Infrastrukturkosten.

Leistungsunterschiede zwischen Java-Framework und .NET-Framework Leistungsunterschiede zwischen Java-Framework und .NET-Framework Jun 03, 2024 am 09:19 AM

In Bezug auf die Verarbeitung von Anforderungen mit hoher Parallelität bietet .NETASP.NETCoreWebAPI eine bessere Leistung als JavaSpringMVC. Zu den Gründen gehören: AOT-Frühkompilierung, die die Startzeit verkürzt, wobei Entwickler für die Zuweisung und Freigabe von Objektspeicher verantwortlich sind.

C# .NET -Interview Fragen und Antworten: Stufen Sie Ihr Fachwissen auf C# .NET -Interview Fragen und Antworten: Stufen Sie Ihr Fachwissen auf Apr 07, 2025 am 12:01 AM

C#.NET -Interviewfragen und Antworten umfassen Grundkenntnisse, Kernkonzepte und erweiterte Nutzung. 1) Grundkenntnisse: C# ist eine von Microsoft entwickelte objektorientierte Sprache und wird hauptsächlich im .NET-Framework verwendet. 2) Kernkonzepte: Delegation und Ereignisse ermöglichen dynamische Bindungsmethoden, und LINQ bietet leistungsstarke Abfragefunktionen. 3) Erweiterte Verwendung: Asynchrone Programmierung verbessert die Reaktionsfähigkeit und Expressionsbäume werden für die dynamische Codekonstruktion verwendet.

Advanced C# .NET Tutorial: Ace Ihr nächstes Senior Developer Interview Advanced C# .NET Tutorial: Ace Ihr nächstes Senior Developer Interview Apr 08, 2025 am 12:06 AM

Das Interview mit C# Senior Developer erfordert das Mastering von Kernwissen wie asynchrones Programmieren, LINQ und interne Arbeitsprinzipien von .NET -Frameworks. 1. Asynchrones Programmieren vereinfacht die Operationen durch Async und wartet auf die Verbesserung der Anwendungsreaktionsfähigkeit. 2.LinQ betreibt Daten im SQL -Stil und achtet auf die Leistung. 3. Die CLR des Net -Frameworks verwaltet den Speicher, und die Müllsammlung muss mit Vorsicht verwendet werden.

C# .NET: Erforschen von Kernkonzepten und Programmierfundamentaldaten C# .NET: Erforschen von Kernkonzepten und Programmierfundamentaldaten Apr 10, 2025 am 09:32 AM

C# ist eine moderne, objektorientierte Programmiersprache, die von Microsoft und als Teil des .NET-Frameworks entwickelt wurde. 1.C# unterstützt die objektorientierte Programmierung (OOP), einschließlich Einkapselung, Vererbung und Polymorphismus. 2. Asynchrones Programmieren in C# wird über Async implementiert und wartet auf Schlüsselwörter, um die Reaktionsfähigkeit der Anwendungen zu verbessern. 3.. Verwenden Sie LINQ, um Datensammlungen präzise zu verarbeiten. 4. Häufige Fehler umfassen Null-Referenzausnahmen und Indexausnahmen außerhalb des Bereichs. Zu den Debugging -Fähigkeiten gehört die Verwendung eines Debuggers und Ausnahmeberechnung. 5. Leistungsoptimierung umfasst die Verwendung von StringBuilder und das Vermeiden von unnötigem Packung und Unboxing.

Ist C# .NET das Richtige für Sie? Bewertung seiner Anwendbarkeit Ist C# .NET das Richtige für Sie? Bewertung seiner Anwendbarkeit Apr 13, 2025 am 12:03 AM

C#.NetissoBableFoREenterPrise-Level Applications-WithemicrosoftCosystemDuetoitsStrongtyPing, Richlibrary, Androbustperformance.

See all articles