Create bookmark
C# Kochbuch
Notes
Please login to add notes
- Inhalt
- + Einleitung
-
+
Zahlen und Enumerationen
- 1.0 Einführung
- 1.1 Prüfen, ob ein Bruch und eine Fließkommazahl ungefähr gleich sind
- 1.2 Grad in Rad umwandeln
- 1.3 Rad in Grad umwandeln
- 1.4 Den Bit-Komplement-Operator mit verschiedenen Datentypen nutzen
- 1.5 Auf einen geraden oder einen ungeraden Wertprüfen
- 1.6 Das High-Word oder Low-Word zu einerZahlermitteln
- 1.7 Eine Zahl zu einer anderen Basis in eine Zahl zurBasis 10 konvertieren
- 1.8 Ermitteln, ob ein String eine gültige Zahl ist
- 1.9 Einen Fließkommawert runden
- 1.10 Einen Rundungsalgorithmus wählen
- 1.11 Celsius in Fahrenheit konvertieren
- 1.12 Fahrenheit in Celsius konvertieren
- 1.13 Einen verkleinernden numerischen Cast sicherdurchführen
- 1.14 Einen Enumerationswert als einen String anzeigen
- 1.15 Klartext in einen äquivalenten Enumerationswert umwandeln
- 1.16 Prüfen, ob ein Wert ein gültiger Enumerationswertist
- 1.17 Auf eine gültige Enumeration von Flags prüfen
- 1.18 Enumerierte Member in einer Bit-Maske verwenden
- 1.19 Ermitteln, ob ein oder mehr Enumerations-Flags gesetzt sind
- 1.20 Den ganzzahligen Anteil eines decimal- oder double-Werts ermitteln
-
+
Strings und Zeichen
- 2.0 Einführung
- 2.1 Die Art von Zeichen ermitteln, die ein char enthält
- 2.2 Beim Vergleich von zwei Zeichen dieBerücksichtigung von Groß-/ Kleinschreibung steuern
- 2.3 Die Positionen aller Vorkommen eines Strings ineinem anderen String finden
- 2.4 Groß-/Kleinschreibung beim Vergleich vonStringssteuern
- 2.5 Einen String mit dem Anfang oder dem Ende eines anderen Strings vergleichen
- 2.6 Einen Text in einen String einfügen
- 2.7 Zeichen in einen String einfügen oder aus ihmentfernen
- 2.8 Binäre Daten in Base64 kodieren
- 2.9 In Base64 kodierte Binärinformationen dekodieren
- 2.10 Einen String, der als byte[ ] zurückgeliefert wird, wieder in einen Stringumwandeln
- 2.11 Einen String an eine Methode übergeben, die nur ein byte[ ] akzeptiert
- 2.12 Strings in andere Typen umwandeln
- 2.13 Einen begrenzten String erzeugen
- 2.14 Elemente aus einem begrenzten String herausziehen
- 2.15 Alle Zeichen in einem String durchlaufen
- 2.16 Zeichen vom Ende oder Anfang eines Strings abschneiden
- 2.17 Einen String darauf testen, ob er null oder leer ist
- 2.18 Eine Zeile anhängen
-
+
Klassen und Strukturen
- 3.0 Einführung
- 3.1 Union-artige Strukturen erstellen
- 3.2 Einen Typ sortierbar machen
- 3.3 Einen Typ suchbar machen
- 3.4 Die Operatoren +=, –=, /= und *= indirekt überladen
- 3.5 Die Operatoren &&, || und ?: indirekt überladen
- 3.6 Fehlerfreie Ausdrücke erstellen
- 3.7 Ihre Boolesche Logik minimieren (reduzieren)
- 3.8 Sprachunabhängig zwischen einfachen Typen konvertieren
- 3.9 Herausfinden, wann der Cast()-Operator, der asOperator oder derisOperatorverwendet werden...
- 3.10 Mit dem as-Operator casten
- 3.11 Den Typ einer Variablen mit dem is-Operator ermitteln
- 3.12 Aus einer Methode mehrere Elemente zurückliefern
- 3.13 Kommandozeilenparameter parsen
- 3.14 Ein konstantes Feld zur Laufzeit initialisieren
- 3.15 Klonbare Klassen erstellen
- 3.16 Die Entsorgung eines Objekts sichern
- 3.17 Nicht-verwaltete Ressourcen entsorgen
- 3.18 Feststellen, wann Boxing und Unboxing durchgeführt wird
-
+
Generics
- 4.0 Einführung
- 4.1 Entscheiden, wann und wo Generics verwendet werden sollten
- 4.2 Generische Typen verstehen
- 4.3 ArrayList durch das generische Gegenstück ersetzen
- 4.4 Stack und Queue durch ihre generischen Gegenstücke ersetzen
- 4.5 Eine verkette Liste (LinkedList) implementieren
- 4.6 Einen Werttyp erstellen, der auf null initialisiert werden kann
- 4.7 Den Inhalt einer SortedList umkehren
- 4.8 Schreibgeschützte generische Collections erstellen
- 4.9 Eine Hashtable durch das generische Gegenstück ersetzen
- 4.10 foreach mit generischen Dictionary-Typen verwenden
- 4.11 Typargumente beschränken
- 4.12 Generische Variablen auf ihre Default-Werte initialisieren
-
+
Collections
- 5.0 Einführung
- 5.1 Zwei Elemente in einem Array tauschen
- 5.2 Ein Array schnell umkehren
- 5.3 Ermitteln, wie oft ein Element in einerList<T> vorkommt
- 5.4 Alle Instanzen eines bestimmten Elements aus einer List<T> abrufen
- 5.5 Elemente in ein Array einfügen und aus einem Array entfernen
- 5.6 Eine List<T> sortiert halten
- 5.7 Die Schlüssel und/oder Werte eines Dictionary sortieren
- 5.8 Ein Dictionary mit Ober- und Untergrenzen fürWerte erzeugen
- 5.9 Momentaufnahmen von Lists in Arrays speichern
- 5.10 Eine Collection zwischen Anwendungssessions erhalten
- 5.11 Alle Elemente in einem Array oder einer List<T> testen
- 5.12 Eine Aktion auf jedem Element eines Arrays oder einer List<T> durchführen
- 5.13 Ein schreibgeschütztes Array- oder List<T>- Objekt erzeugen
-
+
Iteratoren und partielle Typen
- 6.0 Einführung
- 6.1 In einer Klasse eine eingebettete foreach- Funktionalität implementieren
- 6.2 Eigene Enumeratoren erstellen
- 6.3 Auf einem generischen Typ einen Iterator implementieren
- 6.4 Auf einem nicht-generischen Typ einen Iterator erzeugen
- 6.5 Einem einzelnen Typ mehrere Iteratoren hinzufügen
- 6.6 Einen Iterator zwingen, die Iteration zu beenden
- 6.7 Mit Finally-Blöcken und Iteratoren klarkommen
- 6.8 Interface-Implementierungen organisieren
- 6.9 Code generieren, der sich nicht mehr imHauptCode-Pfad befindet
-
+
Exception-Handling
- 7.0 Einführung
- 7.1 Wann sollten Exceptionen abgefangen und weitergereicht werden?
- 7.2 Sichern, dass Exceptions nicht verloren gehen, wenn Finally-Blöcke verwendet werden
- 7.3 Exceptions von Methoden verarbeiten, die über Reflection aufgerufen wurden
- 7.4 Unbehandelte Exceptions verhindern
- 7.5 Exception-Informationen erhalten
- 7.6 Einem Problem schnell auf den Grund gehen
- 7.7 Einen neuen Exception-Typ erzeugen
- 7.8 Einen Stacktrace erhalten
- 7.9 Bei einem ersten Auftreten einer Exception abbrechen
- 7.10 Exceptions verarbeiten, die von einem asynchronen Delegate ausgelöst werden
- 7.11 Exceptions mithilfe von Exception.Data mit zusätzlichen Informationenausstatten
- 7.12 Mit unbehandelten Exceptions in WinForms- Anwendungen umgehen
-
+
Diagnose
- 8.0 Einführung
- 8.1 Feinstufige Kontrolle über Debugging/Tracing- Ausgaben erhalten
- 8.2 Feststellen, ob ein Prozess nicht mehr reagiert
- 8.3 In einer Anwendung Event-Logs nutzen
- 8.4 Event-Log-Einträge durchsuchen
- 8.5 Das Event-Log auf einen bestimmten Eintrag überwachen
- 8.6 Einen einfachen Performance-Counter implementieren
- 8.7 Komplexen Tracing-Code aktivieren und deaktivieren
- 8.8 Die Standardausgabe eines Prozesses einfangen
- 8.9 Eigene Debugging-Anzeigen für Ihre Klasse erstellen
-
+
Delegates, Events und anonyme Methoden
- 9.0 Einführung
- 9.1 Steuern, wann ein Delegate in einem Multicast- Delegate ausgelöst wird
- 9.2 Die Rückgabewerte aller Delegates in einem Multicast-Delegate erhalten
- 9.3 Exceptions separat für alle Delegates in einem Multicast-Delegate verarbeiten
- 9.4 Synchrone Delegate-Aufrufe in asynchrone umwandeln
- 9.5 Ein fortgeschrittener Suchmechanismus fürInterfaces
- 9.6 Veränderungen an und Hinzufügungen zu einerHashtable beobachten
- 9.7 Anonyme Methoden verwenden
- 9.8 Event-Handler sauber einrichten
- 9.9 In anonymen Methoden unterschiedliche Parameter-Modifier verwenden
- 9.10 In C# Closures verwenden
- 9.11 Mit Funktionsobjekten mehrere Operationen aufeiner Liste durchführen
-
+
Reguläre Ausdrücke
- 10.0 Einführung
- 10.1 Treffer enumerieren
- 10.2 Gruppen aus einer MatchCollection herausziehen
- 10.3 Die Syntax eines regulären Ausdrucks prüfen
- 10.4 Schnell nur den letzten Treffer in einem Stringfinden
- 10.5 Die elementaren String-Ersetzungsfunktionen verstärken
- 10.6 Einen Tokenizer implementieren
- 10.7 Die Zeilen eines Texts zählen
- 10.8 Die gesamte Zeile zurückliefern, in der ein Treffer gefunden wird
- 10.9 Ein bestimmtes Vorkommen eines Treffers finden
- 10.10 Verbreitete Muster verwenden
-
+
Dateisystem-I/O
- 11.0 Einführung
- 11.1 Datei-Attribute manipulieren
- 11.2 Eine Datei umbenennen
- 11.3 Ein plattformunabhängiges Zeilenende-Zeichen ausgeben
- 11.4 Verzeichnisattribute manipulieren
- 11.5 Ein Verzeichnis umbenennen
- 11.6 Mit Jokerzeichen nach Dateien oder Verzeichnissensuchen
- 11.7 Einen Verzeichnisbaum erhalten
- 11.8 Einen Pfad parsen
- 11.9 Pfade in Umgebungsvariablen parsen
- 11.10 Konsolenwerkzeuge starten und verwenden
- 11.11 Warten, dass im Dateisystem ein Ereignis eintritt
- 11.12 Die Versionsinformationen von zwei ausführbaren Modulen vergleichen
- 11.13 Informationen zu allen Laufwerken auf einem System abfragen
- 11.14 Dateien komprimieren und dekomprimieren
-
+
Reflection
- 12.0 Einführung
- 12.1 Referenzierte Assemblies auflisten
- 12.2 Exportierte Typen auflisten
- 12.3 Überschriebene Methoden ermitteln
- 12.4 In einer Assembly Member finden
- 12.5 Die eingebetteten Typen in einer Assembly ermitteln und abrufen
- 12.6 Die Vererbungshierarchie für einen Typ anzeigen
- 12.7 Die Unterklassen eines Typs ermitteln
- 12.8 Alle serialisierbaren Typen in einer Assemblyfinden
- 12.9 Member dynamisch aufrufen
- 12.10 Prüfen, ob ein Typ oder eine Methode generisch ist
- 12.11 Informationen zu lokalen Variablen erhalten
- 12.12 Einen generischen Typ erzeugen
-
+
Web
- 13.0 Einführung
- 13.1 Eine IP-Adresse in einen Hostnamen umwandeln
- 13.2 Einen Hostnamen in eine IP-Adresse umwandeln
- 13.3 Einen URI parsen
- 13.4 Mit Webserver-Fehlern umgehen
- 13.5 Mit einem Webserver kommunizieren
- 13.6 Über einen Proxy gehen
- 13.7 Das HTML zu einer URL erhalten
- 13.8 Das neue WebBrowser-Steuerelement verwenden
- 13.9 Datenbank-Tabellen an den Cache binden
- 13.10 Eine ASP.NET-Website mittels Programmierung aufbauen
- 13.11 Daten für das Web maskieren
- 13.12 Die Klasse UriBuilder nutzen
- 13.13 Die Konfiguration Ihrer Webanwendung einsehen und ändern
- 13.14 Bei der Arbeit mit HTTP gecachte Ergebnisse verwenden
- 13.15 Die angepassten Fehlerseiten eines Webserversprüfen
-
+
XML
- 14.0 Einführung
- 14.1 XML-Daten in Dokumentordnung lesen oderschreiben
- 14.2 Den Inhalt eines XML-Dokuments durchsuchen
- 14.3 XML validieren
- 14.4 Ein XML-Dokument über ein Programm aufbauen
- 14.5 Änderungen an einem XML-Dokument feststellen
- 14.6 Ungültige Zeichen in einem XML-String behandeln
- 14.7 XML transformieren
- 14.8 Modifizierte XML-Dokumente validieren, ohne sie neu zu laden
- 14.9 XSLT-Transformationen erweitern
- 14.10 Schemas aus vorhandenen XML-Dateien ableiten
- 14.11 XSLT-Transformationen Parameter übergeben
-
+
Netzwerk
- 15.0 Einführung
- 15.1 Formulareingaben simulieren
- 15.2 Daten von einem Server herunterladen
- 15.3 Aus einem Programm heraus pingen
- 15.4 Über den SMPT-Dienst SMTP-Mails senden
- 15.5 Sockets nutzen, um die Ports auf einer Maschine zuscannen
- 15.6 Die aktuellen Internet-Verbindungseinstellungen nutzen
- 15.7 Über FTP eine Datei herunterladen
-
+
Sicherheit
- 16.0 Einführung
- 16.1 Den Zugriff auf Typen in einer lokalen Assembly steuern
- 16.2 Einen String verschlüsseln und entschlüsseln
- 16.3 Eine Datei verschlüsseln und entschlüsseln
- 16.4 Kryptographische Informationen aufräumen
- 16.5 Prüfen, dass ein String bei einer Übertragung nicht beschädigt wurde
- 16.6 Daten sicher speichern
- 16.7 Eine Sicherheitszusicherung absichern
- 16.8 Prüfen, dass einer Assembly bestimmte Berechtigungen verliehen wurden
- 16.9 Die Angriffsfläche einer Assembly minimieren
- 16.10 Sicherheits/Audit-Informationen erhalten
- 16.11 Zugriff auf eine Datei oder einen Registrierungsschlüssel gestatten bzw.widerrufen
- 16.12 Stringdaten mit sicheren Strings absichern
- 16.13 web.config-Informationen verschlüsseln
- 16.14 Den vollständigen Grund dafür erhalten, dass eine SecurityException ausgelöstwurde
- 16.15 Sichere Unicode-Kodierung erreichen
- 16.16 Ein sichereres Datei-Handle erhalten
-
+
Threading und Synchronisierung
- 17.0 Einführung
- 17.1 Thread-gebundene statische Felder erzeugen
- 17.2 Thread-sicheren Zugriff auf Klassen-Member bieten
- 17.3 Stillschweigende Thread-Beendigung verhindern
- 17.4 Thread-spezifische Daten privat speichern
- 17.5 Über Semaphore Mehrfachzugriff auf Ressourcenbieten
- 17.6 Mehrere Prozesse mit einem Mutex synchronisieren
- 17.7 Events für die Thread-Kooperation einsetzen
- 17.8 Benannte Events einsetzen
- 17.9 Atomare Operationen zwischen Threads durchführen
-
+
Werkzeugkasten
- 18.0 Einführung
- 18.1 Mit dem Herunterfahren des Betriebssystems, demPower Management oderÄnderungen derBenutze...
- 18.2 Einen Dienst steuern
- 18.3 Die Prozesse auflisten, in denen eine Assembly geladen ist
- 18.4 Message-Queues auf der lokalen Arbeitsstation verwenden
- 18.5 Den Pfad zur aktuellen Version des Frameworks finden
- 18.6 Die Versionen einer Assembly ermitteln, die im Global Assembly Cache (GAC) registriert sind
- 18.7 Die Standardausgabe einfangen
- 18.8 Code in seiner eigenen AppDomain ausführen
- 18.9 Die Betriebssystem- und Service-Pack-Version desaktuellen Betriebssystemsermitteln
- + Index
Das C# Kochbuch bietet Praktikern einen schnellen Zugang zu konkreten Lösungsvorschlägen und Codebeispielen rund um C# 2.0, .NET 2.0 und Visual Studio 2005. Wie alle O'Reilly-Kochbücher besteht auch dieses Buch aus "Rezepten", die so aufgebaut sind, dass Sie die beschriebenen Probleme schnell verstehen, erfahren, wie Sie sie lösen, und mögliche Kompromisse und Auswirkungen abschätzen können. Das Kochbuch hat für jeden C#-Entwickler etwas zu bieten: Hunderte von erprobten Lösungen decken alle praxisrelevanten Themen ab, die Ihnen bei C#-Projekten begegnen. Behandelt werden unter anderem: * Zahlen, Enumerationen, Strings und Klassen * Generische Typen, Collections und Iteratoren * Exception-Handling und Diagnose * Events, Delegates und anonyme Methoden * Reguläre Ausdrücke und XML * Dateisystem-I/O und Reflection * Netzwerk, Sicherheit, Threading und Synchronisierung Lösungen auf den Punkt gebracht: Anstatt in Mailinglisten, Online-Dokumentationen oder anderen Quellen stöbern zu müssen, können Sie sich auf das C# Kochbuch verlassen, das Sie schnell mit Lösungen für verbreitete Probleme versorgt. Denn manchmal kann die Rettung vor einer langen Nacht am Computer nur ein Rezept entfernt sein. Zusammenhänge und Hintergründe beleuchtet: Das C# Kochbuch ist mehr als eine Sammlung von Codeschnipseln: Es erklärt die Hintergründe jeder Lösung und geht so weit in die Tiefe, dass Sie C# und das .NET-Framework besser kennen lernen und effektiver damit arbeiten können. Nicht nur Ihre C#-Projekte profitieren direkt davon - nebenbei wächst auch ganz automatisch Ihre C#-Kompetenz. Sofort einsetzbarer Code: Für jedes Rezept gibt es herunterladbare Codebeispiele inklusive eines Testprogramms, das es Ihnen ermöglicht, den Code zu kompilieren und zu testen, um dann die relevanten Zeilen per Copy-and-Paste in Ihre eigenen Programme einzubauen.
Test the closed alpha on paperc.com
Book Details
Authors
Jay Hilyard and Stephen Teilhet
Categories
Computers > Programming Languages > C#
Publishers
Publication year : 2006
License: All rights reserved ©
Times read: 1,571

