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


 

Inhalt

7

Einleitung

15

An wen sich dieses Buch richtet

16

Was Sie brauchen, um dieses Buch nutzen zu können

17

Plattform-Hinweise

17

Wie dieses Buch aufgebaut ist

17

Was weggelassen wurde

20

Zur deutschen Übersetzung

20

Die in diesem Buch verwendeten Konventionen

20

Die Codebeispiele zu diesem Buch

21

Die Codebeispiele verwenden

22

Danksagungen

22

Kapitel 1 Zahlen und Enumerationen

25

1.0 Einführung

25

1.1 Prüfen, ob ein Bruch und eine Fließkommazahl ungefähr gleich sind

27

1.2 Grad in Rad umwandeln

29

1.3 Rad in Grad umwandeln

29

1.4 Den Bit-Komplement-Operator mit verschiedenen Datentypen nutzen

30

1.5 Auf einen geraden oder einen ungeraden Wert prüfen

32

1.6 Das High-Word oder Low-Word zu einer Zahl ermitteln

33

1.7 Eine Zahl zu einer anderen Basis in eine Zahl zur Basis 10 konvertieren

35

1.8 Ermitteln, ob ein String eine gültige Zahl ist

36

1.9 Einen Fließkommawert runden

37

1.10 Einen Rundungsalgorithmus wählen

37

1.11 Celsius in Fahrenheit konvertieren

39

1.12 Fahrenheit in Celsius konvertieren

39

1.13 Einen verkleinernden numerischen Cast sicher durchführen

40

1.14 Einen Enumerationswert als einen String anzeigen

43

1.15 Klartext in einen äquivalenten Enumerationswert umwandeln

45

1.16 Prüfen, ob ein Wert ein gültiger Enumerations wert ist

46

1.17 Auf eine gültige Enumeration von Flags prüfen

49

1.18 Enumerierte Member in einer Bit-Maske verwenden

51

1.19 Ermitteln, ob ein oder mehr Enumerations-Flags gesetzt sind

54

1.20 Den ganzzahligen Anteil eines decimal- oder double-Werts ermitteln

57

Kapitel 2 Strings und Zeichen

59

2.0 Einführung

59

2.1 Die Art von Zeichen ermitteln, die ein char enthält

59

2.2 Beim Vergleich von zwei Zeichen die Berück sichtigung von Groß-/ Kleinschreibung steuern

63

2.3 Die Positionen aller Vorkommen eines Strings in einem anderen String finden

65

2.4 Groß-/Kleinschreibung beim Vergleich von Strings steuern

69

2.5 Einen String mit dem Anfang oder dem Ende eines anderen Strings vergleichen

70

2.6 Einen Text in einen String einfügen

72

2.7 Zeichen in einen String einfügen oder aus ihm entfernen

73

2.8 Binäre Daten in Base64 kodieren

76

2.9 In Base64 kodierte Binärinformationen dekodieren

77

2.10 Einen String, der als byte[ ] zurückgeliefert wird, wieder in einen String umwandeln

78

2.11 Einen String an eine Methode übergeben, die nur ein byte[ ] akzeptiert

79

2.12 Strings in andere Typen umwandeln

81

2.13 Einen begrenzten String erzeugen

85

2.14 Elemente aus einem begrenzten String herausziehen

86

2.15 Alle Zeichen in einem String durchlaufen

87

2.16 Zeichen vom Ende oder Anfang eines Strings abschneiden

88

2.17 Einen String darauf testen, ob er null oder leer ist

89

2.18 Eine Zeile anhängen

90

Kapitel 3 Klassen und Strukturen

92

3.0 Einführung

92

3.1 Union-artige Strukturen erstellen

94

3.2 Einen Typ sortierbar machen

97

3.3 Einen Typ suchbar machen

102

3.4 Die Operatoren +=, –=, /= und *= indirekt überladen

107

3.5 Die Operatoren &&, || und ?: indirekt überladen

110

3.6 Fehlerfreie Ausdrücke erstellen

113

3.7 Ihre Boolesche Logik minimieren (reduzieren)

116

3.8 Sprachunabhängig zwischen einfachen Typen konvertieren

119

3.9 Herausfinden, wann der Cast()-Operator, der as Operator oder der is Operator verwendet werden...

126

3.10 Mit dem as-Operator casten

127

3.11 Den Typ einer Variablen mit dem is-Operator ermitteln

130

3.12 Aus einer Methode mehrere Elemente zurückliefern

133

3.13 Kommandozeilenparameter parsen

135

3.14 Ein konstantes Feld zur Laufzeit initialisieren

144

3.15 Klonbare Klassen erstellen

147

3.16 Die Entsorgung eines Objekts sichern

150

3.17 Nicht-verwaltete Ressourcen entsorgen

153

3.18 Feststellen, wann Boxing und Unboxing durchgeführt wird

160

Kapitel 4 Generics

164

4.0 Einführung

164

4.1 Entscheiden, wann und wo Generics verwendet werden sollten

164

4.2 Generische Typen verstehen

165

4.3 ArrayList durch das generische Gegenstück ersetzen

173

4.4 Stack und Queue durch ihre generischen Gegenstücke ersetzen

177

4.5 Eine verkette Liste (LinkedList) implementieren

182

4.6 Einen Werttyp erstellen, der auf null initialisiert werden kann

186

4.7 Den Inhalt einer SortedList umkehren

188

4.8 Schreibgeschützte generische Collections erstellen

216

4.9 Eine Hashtable durch das generische Gegenstück ersetzen

218

4.10 foreach mit generischen Dictionary-Typen verwenden

222

4.11 Typargumente beschränken

223

4.12 Generische Variablen auf ihre Default-Werte initialisieren

225

Kapitel 5 Collections

228

5.0 Einführung

228

5.1 Zwei Elemente in einem Array tauschen

230

5.2 Ein Array schnell umkehren

232

5.3 Ermitteln, wie oft ein Element in einer List<T> vorkommt

234

5.4 Alle Instanzen eines bestimmten Elements aus einer List<T> abrufen

237

5.5 Elemente in ein Array einfügen und aus einem Array entfernen

241

5.6 Eine List<T> sortiert halten

243

5.7 Die Schlüssel und/oder Werte eines Dictionary sortieren

246

5.8 Ein Dictionary mit Ober- und Untergrenzen für Werte erzeugen

249

5.9 Momentaufnahmen von Lists in Arrays speichern

252

5.10 Eine Collection zwischen Anwendungssessions erhalten

253

5.11 Alle Elemente in einem Array oder einer List<T> testen

256

5.12 Eine Aktion auf jedem Element eines Arrays oder einer List<T> durchführen

257

5.13 Ein schreibgeschütztes Array- oder List<T>- Objekt erzeugen

259

Kapitel 6 Iteratoren und partielle Typen

262

6.0 Einführung

262

6.1 In einer Klasse eine eingebettete foreach- Funktionalität implementieren

263

6.2 Eigene Enumeratoren erstellen

269

6.3 Auf einem generischen Typ einen Iterator implementieren

272

6.4 Auf einem nicht-generischen Typ einen Iterator erzeugen

275

6.5 Einem einzelnen Typ mehrere Iteratoren hinzufügen

276

6.6 Einen Iterator zwingen, die Iteration zu beenden

280

6.7 Mit Finally-Blöcken und Iteratoren klarkommen

281

6.8 Interface-Implementierungen organisieren

285

6.9 Code generieren, der sich nicht mehr im Haupt Code-Pfad befindet

290

Kapitel 7 Exception-Handling

294

7.0 Einführung

294

7.1 Wann sollten Exceptionen abgefangen und weitergereicht werden?

302

7.2 Sichern, dass Exceptions nicht verloren gehen, wenn Finally-Blöcke verwendet werden

303

7.3 Exceptions von Methoden verarbeiten, die über Reflection aufgerufen wurden

306

7.4 Unbehandelte Exceptions verhindern

309

7.5 Exception-Informationen erhalten

311

7.6 Einem Problem schnell auf den Grund gehen

315

7.7 Einen neuen Exception-Typ erzeugen

316

7.8 Einen Stacktrace erhalten

329

7.9 Bei einem ersten Auftreten einer Exception abbrechen

332

7.10 Exceptions verarbeiten, die von einem asynchronen Delegate ausgelöst werden

335

7.11 Exceptions mithilfe von Exception.Data mit zusätzlichen Informationen ausstatten

336

7.12 Mit unbehandelten Exceptions in WinForms- Anwendungen umgehen

338

Kapitel 8 Diagnose

341

8.0 Einführung

341

8.1 Feinstufige Kontrolle über Debugging/Tracing- Ausgaben erhalten

342

8.2 Feststellen, ob ein Prozess nicht mehr reagiert

345

8.3 In einer Anwendung Event-Logs nutzen

347

8.4 Event-Log-Einträge durchsuchen

354

8.5 Das Event-Log auf einen bestimmten Eintrag überwachen

358

8.6 Einen einfachen Performance-Counter implementieren

359

8.7 Komplexen Tracing-Code aktivieren und deaktivieren

363

8.8 Die Standardausgabe eines Prozesses einfangen

367

8.9 Eigene Debugging-Anzeigen für Ihre Klasse erstellen

369

Kapitel 9 Delegates, Events und anonyme Methoden

372

9.0 Einführung

372

9.1 Steuern, wann ein Delegate in einem Multicast- Delegate ausgelöst wird

373

9.2 Die Rückgabewerte aller Delegates in einem Multicast-Delegate erhalten

377

9.3 Exceptions separat für alle Delegates in einem Multicast-Delegate verarbeiten

379

9.4 Synchrone Delegate-Aufrufe in asynchrone umwandeln

383

9.5 Ein fortgeschrittener Suchmechanismus für Interfaces

386

9.6 Veränderungen an und Hinzufügungen zu einer Hashtable beobachten

390

9.7 Anonyme Methoden verwenden

398

9.8 Event-Handler sauber einrichten

403

9.9 In anonymen Methoden unterschiedliche Parameter-Modifier verwenden

407

9.10 In C# Closures verwenden

411

9.11 Mit Funktionsobjekten mehrere Operationen auf einer Liste durchführen

415

Kapitel 10 Reguläre Ausdrücke

420

10.0 Einführung

420

10.1 Treffer enumerieren

421

10.2 Gruppen aus einer MatchCollection herausziehen

424

10.3 Die Syntax eines regulären Ausdrucks prüfen

428

10.4 Schnell nur den letzten Treffer in einem String finden

429

10.5 Die elementaren String-Ersetzungsfunktionen verstärken

430

10.6 Einen Tokenizer implementieren

433

10.7 Die Zeilen eines Texts zählen

435

10.8 Die gesamte Zeile zurückliefern, in der ein Treffer gefunden wird

438

10.9 Ein bestimmtes Vorkommen eines Treffers finden

442

10.10 Verbreitete Muster verwenden

444

Kapitel 11 Dateisystem-I/O

448

11.0 Einführung

448

11.1 Datei-Attribute manipulieren

449

11.2 Eine Datei umbenennen

452

11.3 Ein plattformunabhängiges Zeilenende-Zeichen ausgeben

453

11.4 Verzeichnisattribute manipulieren

455

11.5 Ein Verzeichnis umbenennen

458

11.6 Mit Jokerzeichen nach Dateien oder Verzeichnissen suchen

459

11.7 Einen Verzeichnisbaum erhalten

464

11.8 Einen Pfad parsen

466

11.9 Pfade in Umgebungsvariablen parsen

468

11.10 Konsolenwerkzeuge starten und verwenden

470

11.11 Warten, dass im Dateisystem ein Ereignis eintritt

471

11.12 Die Versionsinformationen von zwei ausführbaren Modulen vergleichen

474

11.13 Informationen zu allen Laufwerken auf einem System abfragen

477

11.14 Dateien komprimieren und dekomprimieren

480

Kapitel 12 Reflection

484

12.0 Einführung

484

12.1 Referenzierte Assemblies auflisten

485

12.2 Exportierte Typen auflisten

487

12.3 Überschriebene Methoden ermitteln

488

12.4 In einer Assembly Member finden

494

12.5 Die eingebetteten Typen in einer Assembly ermitteln und abrufen

495

12.6 Die Vererbungshierarchie für einen Typ anzeigen

497

12.7 Die Unterklassen eines Typs ermitteln

499

12.8 Alle serialisierbaren Typen in einer Assembly finden

501

12.9 Member dynamisch aufrufen

503

12.10 Prüfen, ob ein Typ oder eine Methode generisch ist

507

12.11 Informationen zu lokalen Variablen erhalten

508

12.12 Einen generischen Typ erzeugen

511

Kapitel 13 Web

513

13.0 Einführung

513

13.1 Eine IP-Adresse in einen Hostnamen umwandeln

513

13.2 Einen Hostnamen in eine IP-Adresse umwandeln

514

13.3 Einen URI parsen

515

13.4 Mit Webserver-Fehlern umgehen

519

13.5 Mit einem Webserver kommunizieren

521

13.6 Über einen Proxy gehen

523

13.7 Das HTML zu einer URL erhalten

525

13.8 Das neue WebBrowser-Steuerelement verwenden

526

13.9 Datenbank-Tabellen an den Cache binden

528

13.10 Eine ASP.NET-Website mittels Programmierung aufbauen

530

13.11 Daten für das Web maskieren

533

13.12 Die Klasse UriBuilder nutzen

535

13.13 Die Konfiguration Ihrer Webanwendung einsehen und ändern

538

13.14 Bei der Arbeit mit HTTP gecachte Ergebnisse verwenden

540

13.15 Die angepassten Fehlerseiten eines Webservers prüfen

542

Kapitel 14 XML

545

14.0 Einführung

545

14.1 XML-Daten in Dokumentordnung lesen oder schreiben

546

14.2 Den Inhalt eines XML-Dokuments durchsuchen

550

14.3 XML validieren

552

14.4 Ein XML-Dokument über ein Programm aufbauen

558

14.5 Änderungen an einem XML-Dokument feststellen

560

14.6 Ungültige Zeichen in einem XML-String behandeln

563

14.7 XML transformieren

566

14.8 Modifizierte XML-Dokumente validieren, ohne sie neu zu laden

570

14.9 XSLT-Transformationen erweitern

573

14.10 Schemas aus vorhandenen XML-Dateien ableiten

577

14.11 XSLT-Transformationen Parameter übergeben

578

Kapitel 15 Netzwerk

583

15.0 Einführung

583

15.1 Formulareingaben simulieren

583

15.2 Daten von einem Server herunterladen

587

15.3 Aus einem Programm heraus pingen

589

15.4 Über den SMPT-Dienst SMTP-Mails senden

591

15.5 Sockets nutzen, um die Ports auf einer Maschine zu scannen

596

15.6 Die aktuellen Internet-Verbindungseinstellungen nutzen

601

15.7 Über FTP eine Datei herunterladen

608

Kapitel 16 Sicherheit

610

16.0 Einführung

610

16.1 Den Zugriff auf Typen in einer lokalen Assembly steuern

610

16.2 Einen String verschlüsseln und entschlüsseln

620

16.3 Eine Datei verschlüsseln und entschlüsseln

625

16.4 Kryptographische Informationen aufräumen

630

16.5 Prüfen, dass ein String bei einer Übertragung nicht beschädigt wurde

632

16.6 Daten sicher speichern

636

16.7 Eine Sicherheitszusicherung absichern

643

16.8 Prüfen, dass einer Assembly bestimmte Berechtigungen verliehen wurden

646

16.9 Die Angriffsfläche einer Assembly minimieren

647

16.10 Sicherheits/Audit-Informationen erhalten

648

16.11 Zugriff auf eine Datei oder einen Registrierungs schlüssel gestatten bzw. widerrufen

654

16.12 Stringdaten mit sicheren Strings absichern

657

16.13 web.config-Informationen verschlüsseln

660

16.14 Den vollständigen Grund dafür erhalten, dass eine SecurityException ausgelöst wurde

662

16.15 Sichere Unicode-Kodierung erreichen

664

16.16 Ein sichereres Datei-Handle erhalten

666

Kapitel 17 Threading und Synchronisierung

668

17.0 Einführung

668

17.1 Thread-gebundene statische Felder erzeugen

668

17.2 Thread-sicheren Zugriff auf Klassen-Member bieten

671

17.3 Stillschweigende Thread-Beendigung verhindern

677

17.4 Thread-spezifische Daten privat speichern

680

17.5 Über Semaphore Mehrfachzugriff auf Ressourcen bieten

683

17.6 Mehrere Prozesse mit einem Mutex synchronisieren

688

17.7 Events für die Thread-Kooperation einsetzen

700

17.8 Benannte Events einsetzen

702

17.9 Atomare Operationen zwischen Threads durchführen

706

Kapitel 18 Werkzeugkasten

709

18.0 Einführung

709

18.1 Mit dem Herunterfahren des Betriebssystems, dem Power Management oder Änderungen der Benutze...

709

18.2 Einen Dienst steuern

714

18.3 Die Prozesse auflisten, in denen eine Assembly geladen ist

718

18.4 Message-Queues auf der lokalen Arbeitsstation verwenden

719

18.5 Den Pfad zur aktuellen Version des Frameworks finden

723

18.6 Die Versionen einer Assembly ermitteln, die im Global Assembly Cache (GAC) registriert sind

723

18.7 Die Standardausgabe einfangen

726

18.8 Code in seiner eigenen AppDomain ausführen

728

18.9 Die Betriebssystem- und Service-Pack-Version des aktuellen Betriebssystems ermitteln

730

Index

733

Über die Autoren

765

Über den Übersetzer

765

Kolophon

765