suchen
HeimBackend-EntwicklungC#.Net-TutorialZusammenstellung von C#-Grundkenntnissen: Grundkenntnisse (15) ISammlung, Iteration und Generika

1. ICollection-Schnittstelle
Array ist der grundlegendste Sammlungstyp, der vom .net-Framework definiert wird. Zusätzlich zu Arrays definiert das .net-Framework auch viele Sammlungstypen. Öffnen Sie msdn und Sie können sehen, dass sich alle Sammlungen unter dem System.Collections-Namespace befinden:
Sammlungsklasse:
ArrayList: Implementiert die IList-Schnittstelle mithilfe eines Arrays, dessen Größe bei Bedarf dynamisch erhöht werden kann.
BitArray: Ein komprimiertes Array, das den Wert verwaltet. Der Wert wird als boolescher Wert ausgedrückt. „true“ bedeutet, dass das Bit aktiviert ist (1), „false“ bedeutet, dass das Bit deaktiviert ist (0).
CaseInsensitiveComparer: Vergleicht zwei Objekte auf Gleichheit und ignoriert beim Vergleich die Groß-/Kleinschreibung von Zeichenfolgen.
CollectionBase: Stellt eine abstrakte Basisklasse für stark typisierte Sammlungen bereit.
Vergleicher: Vergleicht zwei Objekte auf Gleichheit, wobei beim Zeichenfolgenvergleich die Groß-/Kleinschreibung beachtet wird.
DictionaryBase: Stellt eine abstrakte Basisklasse für stark typisierte Sammlungen von Schlüssel/Wert-Paaren bereit.
Hashtable: Stellt eine Sammlung von Schlüssel/Wert-Paaren dar, die entsprechend dem Hash-Code des Schlüssels organisiert sind.
Queue: Stellt eine First-In-First-Out-Sammlung von Objekten dar.
ReadOnlyCollectionBase: Stellt eine abstrakte Basisklasse für stark typisierte, nicht generische, schreibgeschützte Sammlungen bereit.
SortedList: Stellt eine Sammlung von Schlüssel/Wert-Paaren dar, die nach Schlüssel sortiert und nach Schlüssel und Index zugänglich sind.
Stapel: Stellt eine einfache, nicht generische Last-in-First-out-Sammlung von Objekten dar.
Schnittstelle:
ICollection: Definiert die Größe, Aufzählung und Synchronisierungsmethoden aller nicht generischen Sammlungen.
IComparer: Macht eine Methode zum Vergleichen zweier Objekte verfügbar.
IDictionary: Stellt eine nicht-universelle Sammlung von Schlüssel/Wert-Paaren dar.
IDictionaryEnumerator: Listen Sie die Elemente eines nicht generischen Wörterbuchs auf.
IEnumerable: Stellt einen Enumerator bereit, der eine einfache Iteration über eine nicht generische Sammlung unterstützt.
IEnumerator: Unterstützt die einfache Iteration nicht generischer Sammlungen.
IEqualityComparer: Definiert Methoden zur Unterstützung des Gleichheitsvergleichs von Objekten.
IList: Stellt eine nicht generische Sammlung von Objekten dar, auf die einzeln über den Index zugegriffen werden kann.
Schauen Sie sich hauptsächlich die ICollection-Schnittstelle und die IEnumerable-Schnittstelle an.
ICollection:
Diese Schnittstelle definiert zwei Hauptspezifikationen für ihre Implementierungsklasse:
(1) Die Anzahl der Sammlungselemente, d. h. das Count-Attribut; (2) Iteration (GetEnumerator-Methode).
Die GetEnumertor-Methode wird von der übergeordneten Schnittstelle IEumerable von ICollection geerbt. Die ICollection-Schnittstelle definiert eine Sammlung, die Verweise auf Objekttypobjekte speichert und abruft, sodass Verweise auf verschiedene Referenztypobjekte oder Werttypobjekte gespeichert und abgerufen werden können.
IEnumerable-Schnittstelle:
Diese Schnittstelle ist die übergeordnete Schnittstelle von ICollection. Diese Schnittstelle bietet iterierbare Funktionen für die von ihr implementierten Klassen. Die IEumerable-Schnittstelle verfügt nur über eine GetEnumerator-Methode, die einen Enumerator zurückgibt, der die Sammlung durchläuft
2. Iteration
Iteration, auch Iterator genannt, ist der Iterationsmodus im Entwurfsmuster. Die Bedeutung ist: Bereitstellung einer Methode für Sequentieller Zugriff Aggregiert die Elemente in einem Objekt, ohne die interne Darstellung des Objekts offenzulegen. Da die Speichermethoden der Sammlungen unterschiedlich sind, handelt es sich bei der Liste um einen kontinuierlichen Speicher, während die verknüpfte Liste den Referenzspeicher zwischen Objekten verwendet. Dann ist es unpraktisch, Sammlungen zu durchlaufen, und Sie benötigen eine Methode, die alle verschiedenen Sammlungen durchlaufen kann Iteratoren.
Der Iterator behandelt die kombinierte Klasse als einen Container mit unendlicher Kapazität und die Speicherregeln sind linear. Das heißt, jedes Element außer dem ersten und dem letzten hat einen direkten Vorgänger und einen direkten Nachfolger, und der Container verfügt über ein Flag, das auf jede Speichereinheit im Container zeigen kann. Es gibt zwei Möglichkeiten: Einweg-Iteration und Zwei-Wege-Iteration.
(1) Einweg-Iteration
Einweg-Iteration bezieht sich nur auf die Vorwärts-Iteration. Die Einheitsmarke der Menge kann sich ausgehend von einem Element der Menge nur einzeln rückwärts bewegen :
a. Aktuelles Element
b. Gehen Sie zum nächsten Element und bestimmen Sie, ob es das Ende ist
c > Für den bidirektionalen Iterationsmodus kann sich die Einheitenmarkierung des Satzes ausgehend von einem Element im Satz einzeln nach hinten oder ausgehend von einem Element im Satz vorwärts bewegen. Daher gibt es vier Operationen:
a, aktuelles Element
b, weiter zum nächsten Element und feststellen, ob es das Ende ist
c, zurück zum vorherigen Element und feststellen, ob es der Anfang des Satzes ist
d, zurück zum Ausgangsposition

.net Framework definiert eine unidirektionale Iterationsspezifikation mithilfe der IEumerable-Schnittstelle. Die ICollection-Schnittstelle erbt die IEumerable-Schnittstelle. Die von dieser Schnittstelle definierte GetEnumerator-Methode kann ein iteratives Objekt des aktuellen Sammlungsklassenobjekts abrufen, dh ein Objekt, das die IEumerable-Schnittstelle implementiert.
Jede Klasse, die die IEnumerable-Schnittstelle implementiert, kann mithilfe einer foreach-Schleife iterativ durchlaufen werden.
Die IEnumerator-Schnittstelle definiert einen Iterator, der Objektreferenzen vom Typ Objekt durchlaufen kann, und die IEnumerable-Schnittstelle definiert eine Methode zum Abrufen dieses Iteratorobjekts.
3. Generische Sammlung
ICollection Die sogenannte generische Sammlungsschnittstelle verwendet die vom .net Framework bereitgestellten generischen Funktionen Sammlung von Daten, die auf die Speicherung nur eines bestimmten Typs von Objektreferenzen oder Werttypen beschränkt ist. Generische Sammlungen verbessern die Effizienz und Sicherheit des Sammlungszugriffs.
Da der Speichertyp bestimmt wurde, stellt ICollection mehr Methoden als die ICollection-Schnittstelle bereit, einschließlich des Hinzufügens zur Sammlung, des Löschens aus der Sammlung und der Bestimmung, ob eine Objektreferenz (oder ein Objektwert) in der Sammlung vorhanden ist.
IEnumerable-Schnittstelle
ICollection-Schnittstelle, die hauptsächlich zur Rückgabe eines iterativen Unterobjekts eines bestimmten Typs verwendet wird, der die IEnumerator-Schnittstelle implementiert.

Das Obige ist die Zusammenstellung der C#-Grundkenntnisse: Grundkenntnisse (15) ISammlung, Iteration und Generika. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme
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
C# und .net: Verständnis der Beziehung zwischen den beidenC# und .net: Verständnis der Beziehung zwischen den beidenApr 17, 2025 am 12:07 AM

Die Beziehung zwischen C# und .NET ist untrennbar miteinander verbunden, aber nicht dasselbe. C# ist eine Programmiersprache, während .NET eine Entwicklungsplattform ist. C# wird verwendet, um Code zu schreiben, in .NETs Intermediate Language (IL) zu kompilieren und von der .NET -Laufzeit (CLR) ausgeführt zu werden.

Die anhaltende Relevanz von C# .NET: Ein Blick auf die aktuelle VerwendungDie anhaltende Relevanz von C# .NET: Ein Blick auf die aktuelle VerwendungApr 16, 2025 am 12:07 AM

C#.NET ist immer noch wichtig, da es leistungsstarke Tools und Bibliotheken bietet, die mehrere Anwendungsentwicklung unterstützen. 1) C# kombiniert .NET Framework, um die Entwicklung effizient und bequem zu machen. 2) Mechanismus zum Typensicherheit und Müllsammlung von C#erhöht die Vorteile. 3) .NET bietet eine plattformübergreifende laufende Umgebung und eine reichhaltige APIs, wodurch die Flexibilität der Entwicklung verbessert wird.

Vom Web zum Desktop: Die Vielseitigkeit von C# .NETVom Web zum Desktop: Die Vielseitigkeit von C# .NETApr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

C# .net und die Zukunft: Anpassung an neue TechnologienC# .net und die Zukunft: Anpassung an neue TechnologienApr 14, 2025 am 12:06 AM

C# und .NET passen sich durch kontinuierliche Aktualisierungen und Optimierungen an die Bedürfnisse neuer Technologien an. 1) C# 9.0 und .NET5 Führen Sie den Datensatztyp und die Leistungsoptimierung ein. 2) .NETCORE verbessert die native und containerische Unterstützung von Cloud. 3) ASP.NetCore integriert sich in moderne Webtechnologien. 4) ML.NET unterstützt maschinelles Lernen und künstliche Intelligenz. 5) Asynchrone Programmierung und Best Practices verbessern die Leistung.

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

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

C# Code in .NET: Erforschen des ProgrammiervorgangsC# Code in .NET: Erforschen des ProgrammiervorgangsApr 12, 2025 am 12:02 AM

Der Programmierungsprozess von C# in .NET enthält die folgenden Schritte: 1) Schreiben von C# Code, 2) Kompilieren in eine mittlere Sprache (IL) und 3), die durch die .NET -Laufzeit (CLR) ausführt. Die Vorteile von C# in .NET sind die moderne Syntax, das leistungsstarke Typsystem und die enge Integration in das .NET -Framework, das für verschiedene Entwicklungsszenarien geeignet ist, von Desktop -Anwendungen bis hin zu Webdiensten.

C# .NET: Erforschen von Kernkonzepten und ProgrammierfundamentaldatenC# .NET: Erforschen von Kernkonzepten und ProgrammierfundamentaldatenApr 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.

Testen von C# .NET-Anwendungen: Einheit, Integration und End-to-End-TestTesten von C# .NET-Anwendungen: Einheit, Integration und End-to-End-TestApr 09, 2025 am 12:04 AM

Die Teststrategien für C#.NET-Anwendungen umfassen Unit-Tests, Integrationstests und End-to-End-Tests. 1. Unit -Test stellt sicher, dass die Mindesteinheit des Codes unter Verwendung des Frameworks MStest, Nunit oder Xunit unabhängig funktioniert. 2. Integrierte Tests überprüfen die Funktionen mehrerer Einheiten kombinierter, häufig verwendeten simulierten Daten und externen Diensten. 3. End-to-End-Tests simuliert den vollständigen Betriebsprozess des Benutzers, und Selen wird normalerweise für automatisierte Tests verwendet.

See all articles

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 vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software