Book description
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
Table of contents
-
C# Kochbuch
- Einleitung
-
1. 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 Wert prüfen
- 1.6 Das High-Word oder Low-Word zu einer Zahl ermitteln
- 1.7 Eine Zahl zu einer anderen Basis in eine Zahl zur Basis 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 sicher durchfü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 Enumerationswert ist
- 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
-
2. 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 die Berücksichtigung von Groß-/Kleinschreibung steuern
- 2.3 Die Positionen aller Vorkommen eines Strings in einem anderen String finden
- 2.4 Groß-/Kleinschreibung beim Vergleich von Strings steuern
- 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 ihm entfernen
- 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 String umwandeln
- 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
-
3. 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 as-Operator oder der is-Operator verwendet werden sollten
- 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
-
4. 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
-
5. 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 einer List<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ür Werte 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
-
6. 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 im Haupt-Code-Pfad befindet
-
7. 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 Informationen ausstatten
- 7.12 Mit unbehandelten Exceptions in WinForms-Anwendungen umgehen
-
8. 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
-
9. Delegates
- 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ür Interfaces
- 9.6 Veränderungen an und Hinzufügungen zu einer Hashtable 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
- 9.11 Mit Funktionsobjekten mehrere Operationen auf einer Liste durchführen
-
10. 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 String finden
- 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
-
11. 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 Verzeichnissen suchen
- 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
-
12. 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 Assembly finden
- 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
-
13. 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 Webservers prüfen
-
14. XML
- 14.0 Einführung
- 14.1 XML-Daten in Dokumentordnung lesen oder schreiben
- 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
-
15. 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 zu scannen
- 15.6 Die aktuellen Internet-Verbindungseinstellungen nutzen
- 15.7 Über FTP eine Datei herunterladen
-
16. 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öst wurde
- 16.15 Sichere Unicode-Kodierung erreichen
- 16.16 Ein sichereres Datei-Handle erhalten
-
17. 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 Ressourcen bieten
- 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
-
18. Werkzeugkasten
- 18.0 Einführung
- 18.1 Mit dem Herunterfahren des Betriebssystems, dem Power Management oder Änderungen der Benutzersitzungen arbeiten
- 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 des aktuellen Betriebssystems ermitteln
- Kolophon
Product information
- Title: C# Kochbuch
- Author(s):
- Release date: August 2006
- Publisher(s): O'Reilly Verlag
- ISBN: 9783897214644
You might also like
book
C# 3.0 Entwurfsmuster
Wenn Sie die Entwicklungszeit Ihrer .Net-Applikation beschleunigen wollen, dann ist C# 3.0 Entwurfsmuster genau das richtige …
book
Kompaktkurs C# 7
Das Buch beschreibt in kompakter Form den gesamten Sprachumfang von C# mit den neuen Sprachmerkmalen von …
book
Kompaktkurs C# 6.0
" eingeführtes Buch zu C# von einem sehr bekannten Autor didaktisch wertvoll zahlreiche Beispiele, über 100 …
book
C von Kopf bis Fuß
Schon mal davon geträumt, C zu lernen und dabei Spaß zu haben? Mit C von Kopf …