Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

C# Kochbuch

von: Jay Hilyard, Stephen Teilhet

O'Reilly Verlag, 2006

ISBN: 9783868990010, 766 Seiten

2. Auflage

Format: ePUB, PDF, OL

Mac OSX,Windows PC,Mac OSX,Windows PC Bookeen Cybook Orizon,Ectaco Lite,Odys Media Book Scala,Aluratek Libre,eLyricon EBX-500.TFT,PocketBook 302,IREX Digital Reader,FlatReader,BeBook 'One',iRiver Story,Sony Reader PRS-3xx,Bookeen CyBook Opus,Hanvon/Hexaglot N518,PocketBook 301+,COOL-ER eReader,Inves-Book 600,eLyricon EBX-600.E-Ink, Bookeen CyBook Gen3 ab Rev: 1.9,Italica Reader,Sony Reader PRS-505, -6xx, -7xx,Pocketbook 360,Hanvon N516 Weltbild Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 20,00 EUR

Ersparnis: 34,90 EUR

  • Das Buch: Neues Testament
    Neues Leben - Die Bibel Großausgabe
    Reguläre Ausdrücke Kochbuch - Detaillierte Lösungen für acht Programmiersprachen. Mit Einstiegs-Tutorial
    C# Kompendium
    C++ Kochbuch - Beispiele und Lösungen für C++-Programmierer
    Programmieren mit dem .NET Compact Framework: Pocket PC - Smartphone - Handheld
    Die Volxbibel
    C# 2.0
  • C# 2008 Codebook (C Sharp)
    Der Schwarze Schwan - Die Macht höchst unwahrscheinlicher Ereignisse.
    Geniale Passworttricks
    Add-In Entwicklung für Visual Studio.
    Du musst sterben bevor Du lebst... damit du lebst, bevor du stirbst
    Der Feind im Schatten

     

     

     

 

Mehr zum Inhalt

C# Kochbuch


 

Kapitel 6 Iteratoren und partielle Typen (S. 238-239)

6.0 Einführung

Zwei der vier wichtigsten neuen Features in C# 2.0 sind Iteratoren und partielle Typen. Iteratoren ermöglichen es einem Codeblock, eine geordnete Sequenz von Werten zu liefern. Partielle Typen ermöglichen es, verschiedene Teile einer Klasse an verschiedenen Orten vorzuhalten.

Iteratoren sind ein Mechanismus, mit dem eine Klasse Daten über das foreach-Schleifenkonstrukt enumerieren kann. Allerdings sind Iteratoren noch viel flexibler. Sie können einfach eine Sequenz von Daten erzeugen, die vom Enumerator zurückgeliefert wird. Die Sequenz muss nicht im Voraus hartkodiert werden. Beispielsweise könnten Sie einfach einen Enumerator schreiben, der auf Verlangen die Fibonacci-Sequenz generiert. Ein weiteres flexibles Feature von Iteratoren ist, dass Sie keine Grenze für die Anzahl von Werten festlegen müssen, die der Iterator zurückliefert. Das heißt, dass Sie beispielsweise dynamisch festlegen können, wo die Herstellung der Fibonacci-Sequenz beendet werden soll.

Bei früheren Versionen des .NET Framework mussten Sie mehrere Schritte durchführen, damit das foreach-Konstrukt auf Ihrem Typ operieren konnte. Erst mussten Sie auf Ihrem Typ das Interface IEnumerable implementieren. Dann mussten Sie das Interface IEnumerator auf einem anderen Typ implementieren. Dieser zweite Typ hat dann die eigentliche Arbeit erledigt, die für die Nutzung der foreach-Funktionalität erforderlich ist. Und dann mussten in diesem Typ noch die Methoden MoveNext und Reset sowie das Property Current von Hand geschrieben werden.

Iteratoren ermöglichen es Ihnen, diese Arbeiten an den C#-Compiler zu delegieren. Bei der Version 2.0 des C#-Compilers müssen Sie erheblich weniger Arbeit leisten, wenn Sie einem Typ die Fähigkeit geben wollen, in einer foreach-Schleife verwendet zu werden. Jetzt müssen Sie Ihrem Typ nur noch einen Iterator hinzufügen. Ein Iterator ist ein Member in Ihrem Typ (d.h. eine Methode, eine Operator-Überladung oder der get-Akzessor für ein Property), das entweder einen System.Collections.IEnumerator, einen System. Collections.Generic.IEnumerator, ein System.Collections.IEnumerable oder ein System.Collections.Generic.IEnumerable zurückliefert und mindestens eine yield- Anweisung enthält. Diese Einfachheit ermöglicht es Ihnen, leichter Typen zu schreiben, die von foreach-Schleifen verwendet werden können.

Partielle Typen erlauben es Entwicklern, die Definition eines Typs in mehrere Bereiche aufzuspalten. Der Typ kann sich in mehreren Dateien, mehreren Bereichen einer Datei oder in mehreren Bereichen mehrerer Dateien befinden. Wenn Sie einen Typ als partiell deklarieren, sagt das dem C#-Compiler, dass dieser Typ an diesem Ort eventuell nicht vollständig vorhanden ist und er nicht vollständig kompiliert werden kann, bis die anderen Teile gefunden worden sind oder das Ende der Liste der zu kompilierenden Module erreicht worden ist. Partielle Typen sind ein Feature, das rein über den Compiler implementiert ist und keinerlei Auswirkungen auf den IL-Code hat, der für die Klasse generiert wird. Die wichtigsten Beispiele für die Verwendung partieller Typen finden Sie in der Visual Studio IDE. Dort werden sie vom Designer genutzt, um den vom Designer generierten Code von der UI-Logik zu trennen, die der Entwickler schreibt. Sie werden außerdem im Erstellungscode für DataSets verwendet, der auf einer XML-chema-Definition der Daten basiert. Auch wenn partielle Typen ein rein Compiler-basiertes Feature sind, können Sie sie in ein paar Situationen, die in den Rezepten 6.8 und 6.9 skizziert werden, vorteilhaft einsetzen.