Worüber ich jetzt sprechen möchte, sind Container in C#. Dies ist ein sehr wichtiges Thema, denn egal, welche Art von Programm Sie schreiben, Sie müssen sich mit Containern befassen (umgekehrt!). ist Dinge, die Dinge enthalten können (wieder!), in objektorientierten Programmiersprachen wie C# und Java werden Container als Dinge bezeichnet, die Objekte enthalten können. Bedeutet das nicht „Alles ist ein Objekt?“ In der Vergangenheit war ich der Einzige, der sich mit C++ beschäftigte und mir sagte, dass die Container in JAVA sehr einfach zu verwenden seien, viel einfacher als in C++. Daran besteht kein Zweifel Die Containerfunktion von C# ist ebenfalls sehr leistungsfähig.
Die foreach-Anweisung ist die einfachste Möglichkeit, die Elemente eines Containers zu durchlaufen. Wir können die Klasse System.Collections.IEnumerator und die Schnittstelle System.Collections.IEnumerable verwenden, um Container zu verwenden in C#. Hier ist ein Beispiel, die Funktion ist ein String-Splitter .
000: // CollectionClassestokens.cs
001: using System;
002: using System.Collections;
003 :
004: öffentliche Klassentokens: IEnumerable
005: {
006: PRivate string[]-Elemente;
007:
008: Tokens(string source, char[] delimiters)
009: {
010: elements = source.Split (delimiters);
011: }
012:
013: //Referenz IEnumerable interface 014:
015: public IEnumerator GetEnumerator( ).
023: {
024: private int position = -1;
025: private Tokens t;
026:
027: public TokenEnumerator(Tokens t)
028: {
029: this.t = t;
030 : }
031:
032: public bool MoveNext()
033: {
034: if (position < t.elements .Länge - 1)
035: {
036: position++;
037: return true;
038: }
039: else
040: {
041: return false;
042: }
043: }
044:
045: public void Reset()
046: {
047: position = -1;
048: }
049:
050: öffentliches Objekt Aktuell
051: {
052: get
053: {
054: return t.elements[position];
055: }
056: }
057: }
058:
059: // Test 060:
061: static void Main()
062: {
063: Tokens f = new Tokens("Das ist ein gut gemachtes Programm. ", new char[] {' ','-'});
064: foreach (string item in f)
065: {
066: Console.WriteLine(item);
067 : 🎜>068: 🎜>069: 🎜>Die Ausgabe dieses Beispiels ist:
Dies
ist
a
Gut
fertig
Programm.
Das Obige ist der Inhalt des SUNWEN-Tutorials – C# Advanced (10). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www .php.cn)!