İÇİNDEKİLER (Cilt 1)
Önsöz
Bölüm 1. .NET Framework Temel Kavramları
1.1. .Net Framework Nedir? 15
1.2. CLI, CTS ve CLS Nedir? 18
1.3. Yönetilen ve Yönetilmeyen Kod Nedir? 20
1.4. CLR (Common Language Runtime) Nedir? 20
1.5. IL/MSIL ve JIT (Just-ın-Time) Derleme 23
1.6. Framework Sınıf Kütüphanesi – FCL 24
1.7. Üst-Veri (Metadata) Nedir? 24
1.8. ILDASM ve ILASM Aracı (IL Disassembler) 25
1.9. Bütünleşik-Kod (Assembly) Nedir? 27
1.10. Uygulama Alanı 31
1.11. Bellek Yönetimi ve Çöp Toplama (Garbage Collection)
1.12. .NET ve JAVA 34
1.13. Özet
1.14. Sorular
Bölüm 2. C# Programlama Diline Giriş
2.1. İlk Örnek 38
2.2. Visual Studio.NET Arayüzü (IDE) 41
2.2.1. Visual Studio.NET Pencereleri 41
2.2.2. IDE Ortamında İlk Örnek 46
2.3. Özet
2.4. Sorular
Bölüm 3. Veri Türleri ve Değişkenler
3.1. Değer ve Referans Türleri 50
3.2. Uzayan İfadeler 55
3.3. Sabitler 55
3.4. Veri Türleri Arasında Dönüşüm 57
3.5. Boxing ve Un-Boxing Dönüşüm 62
3.6. Literal Karakterleri 63
3.7. Anahtar Sözcükler ve Tanımlayıcılar 65
3.8. Nullable Veri Türleri 68
3.9. Özet
3.10. Sorular
Bölüm 4. Operatörler
4.1. Tekil Operatörler 71
4.2. Aritmetik Operatörler 72
4.3. İlişkisel Operatörler 74
4.4. Mantıksal Operatörler74
4.5. Atama Operatörleri 77
4.6. bit-düzeyinde (Bitwise) Operatörler 80
4.7. Kaydırma Operatörleri81
4.8. Koşula Bağlı (?: ) Operatör 82
4.9. Değişken Türü (typeof) Operatörü 82
4.10. Nesne Dönüştürme (as) Operatörü 83
4.11. Türün Uzunluğunu Öğrenme (sizeof) Operatörü 84
4.12. Taşma Kontrol (checked ve unchecked) Operatörleri 85
4.13. Operatörlerin Öncelik Sırası 86
4.14. Özet
4.15. Sorular
Bölüm 5. Kontrol Deyimleri
5.1. Koşul Deyimleri 89
5.2. Seçme Deyimi 93
5.3. Döngü Deyimleri 95
5.3.1. while Deyimi 95
5.3.2. do Deyimi 96
5.3.3. for Deyimi 97
5.3.4. foreach Deyimi 98
5.4. Atlama/Dallanma Deyimleri 99
5.5. Temel Giriş/Çıkış İşlemleri 102
5.6. Özet
5.7. Sorular
Bölüm 6. Diziler
6.1. Tek-Boyutlu Diziler 105
6.2. Çok-Boyutlu Diziler 107
6.3. Karışık Boyutlu (Jagged) Diziler 109
6.4. System.Array ve Dizi İşlemleri110
6.4.1. System.Array Özellik ve Yordamları 110
6.5. Dinamik Diziler 117
6.6. Özet
6.7. Sorular
Bölüm 7. Nesne Yönelimli Programlama
7.1. Sınıf ve Nesne Nedir? 119
7.2. Sınıf ve Nesne Tanımlamak 122
7.3. Sınıf Üyeleri 125
7.4. Yordamlar (Methods) 126
7.4.1. Parametreler 128
7.4.1.1. Değer veya Referans Yoluyla Parametre Geçmek
7.4.1.2. Yordamlara Değişken Sayıda Parametre Göndermek
7.4.2. Yinelemeli Yordamlar 132
7.4.3. Main() Yordamı 133
7.5. Yapıcılar (Constructors) 133
7.6. Yıkıcılar (Destructors) 135
7.7. Özellikler ve İndeksleyiciler 137
7.7.1. Özellikler (Properties) 137
7.7.2. İndeksleyiciler (Indexers) 140
7.8. Özet
7.9. Sorular
Bölüm 8. Statik Üyeler & Harici Sınıflar
8.1. Statik Üyeler 143
8.2. Statik Sınıflar 146
8.3. this Anahtar Sözcüğü 148
8.4. İsim-uzayı (Namespace) 148
8.5. Proje İçinde Sınıf Dosyaları Dâhil Etmek
8.6. Parçalı Sınıf155
8.7. Özet 158
8.8. Sorular 158
Bölüm 9. OOP'nin Temel İlkeleri
9.1. Soyutlama (Abstraction) 159
9.2. Sarmalama (Encapsulation) 159
9.2.1. Erişim Belirleyiciler (Access Modifiers) 160
9.3. Çok Şekillilik (Polymorphism) 163
9.3.1. Yeniden Yüklenme (Overloading) 163
9.3.2. Arabirimler (Interface Polymorphism) 166
9.3.3. Soyut Sınıf 170
9.4. Kalıtımsal Çok-şekillilik (Inheritance Polymorphism)
9.4.1. Üye Gizlemek (Shadowing) 180
9.4.2. Temel Sınıftaki Üye Erişim Sözcükleri (base, this)
9.4.3. Yapıcı ve Yıkıcı Kalıtımı 184
9.4.4. Erken Bağlama ve Geç Bağlama 185
9.4.5. Erişim Belirleyici Tablosu 187
9.5. Nesne Tabanlı Programlama 187
9.6. Özet
9.7. Sorular
Bölüm 10. Yapı, Numaralandırma ve Öznitelik
10.1. Yapı (Struct) 189
10.1.1. Yapı Üyeleri 191
10.1.2. Yapı ve Kalıtım 192
10.1.3. İçiçe Yapılar 193
10.1.4. Yapı ve Sınıf Arasındaki Fark
10.2. Numaralandırma 195
10.3. Öznitelikler (Attributes) 197
10.3.1. Conditional Özniteliği 200
10.3.2. Obsolete Özniteliği 201
10.4. Özet 202
10.5. Sorular 202
Bölüm 11. Aykırı Durum Yönetimi
11.1. try, catch ve finally Anahtar Sözcükleri
11.2. Aykırı Durum (Exception) Yaratmak 206
11.3. Kullanıcı Tanımlı Aykırı Durum Türü 207
11.4. System.Exception Üyeleri 207
11.5. Özet
11.6. Sorular
Bölüm 12. NET’te Koleksiyon Nesneleri
12.1. Koleksiyon Sınıfları
12.1.1. DiziListe (ArrayList) 212
12.1.2. ÇırpıTablosu (Hashtable) 216
12.1.3. SıralıListe (SortedList) 218
12.1.4. Yığın (Stack)
12.1.5. Kuyruk (Queue)
12.1.6. bit Dizisi (BitArray) 226
12.1.7. CollectionBase ve DictionaryBase Sınıfları230
12.2. Koleksiyon Arabirimleri 230
12.2.1. ICollection Arabirimi 231
12.2.2. IList Arabirimi 232
12.2.3. IDictionary Arabirimi 233
12.2.4. IEnumerable Arabirimi 235
12.3. yield Anahtar Sözcüğü 241
12.4. Generic Veri Türü 243
12.4.1. Generic Sınıf ve Generic Yordam
12.4.2. Generic Mimarisinde Kısıtlama (Constraint) Kullanımı248
12.4.3. default() Operatörü 250
12.4.4. Generic Koleksiyon Sınıfları
12.4.5. Generic Delegate 254
12.5. Özet
12.6. Sorular
Bölüm 13. Delegeler ve Olaylar
13.1. Delegeler 257
13.2. Olaylar (Events) 263
13.3. System.EventArgs Sınıfı 265
13.4. Dinamik Kontrol Örneği 267
13.5. Anonim Yordamlar 268
13.6. Özet
13.7. Sorular
Bölüm 14. .NET’te Giriş/Çıkış Kullanımı
14.1. Dosya Yazma ve Okuma İşlemleri 278
14.1.1. Kanal (Stream) Kavramı 278
14.1.2. Byte ve Karakter Kanal Sınıfları 279
14.1.3. Byte Tabanlı Dosya Okuma/Yazma (FileStream)
14.1.4. Karakter Tabanlı Dosya Okuma/Yazma 286
14.1.5. StringReader ve StringWriter Kullanımı 288
14.1.6. İkili Verileri Okumak ve Yazmak 288
14.1.7. MemoryStream Kullanmak 289
14.2. Dosya ve Klasör İşlemleri 290
14.2.1. Directory ve DirectoryInfo Sınıflarının Kullanımı
14.2.2. File ve FileInfo Sınıflarının Kullanımı 294
14.2.3. Path Sınıfının Kullanımı 295
14.3. Özet
14.4. Sorular
Bölüm 15. Sözce/String Türü ve Karakter Biçimlendirme İşlemleri
15.1. Sözce/String Türünün Özellikleri
15.2. String Sınıfının Yordamları 301
15.3. StringBuilder Sınıfı 305
15.4. Karakter, Sayı ve Tarih Biçimlendirme Yöntemleri
15.5. Sayısal Biçim Belirleyicileri 308
15.6. Tarih ve Saati Biçimlendirmek 310
15.7. .NET’te Genelleştirme ve Yerelleştirme 312
15.8. Kültüre Bağlı Biçimlendirme 315
15.9. Kaynak (Resource) Dosyaları 317
15.10. System.Resources Sınıfı Kullanımı 320
15.11. Yerelleştirmede Kaynak Dosyanın Kullanılması
15.12. Özet
15.13. Sorular
Bölüm 16. Operatörlerin Yeniden Yüklenmesi
16.1. Tekil Operatörlerin Yeniden Yüklenmesi 326
16.2. İkili Operatörlerin Yeniden Yüklenmesi 327
16.3. İlişkisel Operatörlerin Yeniden Yüklenmesi 328
16.4. Dönüşüm Operatörlerin Yeniden Yüklenmesi 330
16.5. Özet
16.6. Sorular
Bölüm 17. Yansıma (Reflection)
17.1. Tür Üyeleri Hakkında Bilgi Almak 335
17.2. Tür Üyelerini Çağırmak 339
17.3. Bütünleştirilmiş Koddan (Assembly) Tür Yüklemek
17.4. Özet
17.5. Sorular
Bölüm 18. Emniyetsiz Kod ve İşaretçiler
18.1. İşaretçiler
18.2. fixed Deyimi
18.3. stackalloc Deyimi
18.4. Özet
18.5. Sorular
Bölüm 19. Çok Parçacıklı (Multithreading) Programlama
19.1. .NET’te Çok Parçacıklı Programlama 362
19.2. Parçacıkları Oluşturmak ve Çalıştırmak 363
19.3. Parçacıkları Bekletmek 364
19.4. Parçacıkların Sona Ermesini Beklemek 365
19.5. Parçacıkları Yok Etmek 368
19.6. IsBackground Özelliği 370
19.7. Parçacığın Durumunu Öğrenmek 371
19.8. Parçacık Öncelikleri 372
19.9. Parçacık Güvenliği ve Eşitleme 374
19.10. Monitor Sınıfını Kullanmak 376
19.11. Mutex Sınıfını Kullanmak 379
19.12. Semaphore Sınıfını Kullanmak
19.13. Özet
19.13. Sorular
Bölüm 20. Bütünleştirilmiş Kod (Assembly) Türleri ve Kullanımı
20.1. Özel ve Genel Bütünleştirilmiş Kodlar
20.2. XML tabanlı Açıklama / Kod Belgelendirmesi Oluşturmak
20.3. Özet
20.4. Sorular
Bölüm 21. Windows Form Uygulamaları (GUI)
21.1. Windows Uygulamaları Olaya Dayalıdır
21.2. İlk Windows Uygulama Örneği 401
21.3. VS.NET Panelleri ve Menüleri404
21.4. Windows Form Kontrolleri 406
21.5. Windows Uygulamalarında Yaygın Kullanılan Kontroller
21.6. Menü ve Araç Çubuğu Kontrolleri 422
21.7. Diyalog Kontrolleri 424
21.8. Belge Yazdırma Kontrolleri 430
21.9. Veri Kontrolleri 436
21.10. Cristal Report Kontrolleri 446
21.11. MDI Uygulamaları 452
21.12. Kurulum Projesi Hazırlamak 454
21.13. Özet
21.14. Sorular
Ek A: UML Diyagramları
Kaynakça
Dizin
Cilt 2. İleri Düzey Programlama
İÇİNDEKİLER
Bölüm 22. ADO.NET Mimarisi
22.1. Veri Erişim Bileşenleri
22.2. ADO.NET Nedir? 486
22.3. ADO.NET Mimarisi 487
22.4. Özet
22.5. Sorular
Bölüm 23. ADO.NET Bağlantılı Sınıflar
23.1. DbConnection Nesnesi 492
23.2. Bağlantı Cümlesinin Saklanması 493
23.3. DbCommand Nesnesi 500
23.3.1. DbCommand Nesnesinin Yürütülmesi
23.4. DbDataReader Nesnesi 504
23.4.1. DbDataReader Sınıfının Üyeleri 511
23.5. DbParameter Nesnesi 513
23.6. DbTransaction Nesnesi 515
23.6.1. ADO.NET 2.0 Transaction (İşlem-bilgi)Yönetimi
23.6.2. Savepoint Kavramı
23.7. Özet
23.8. Sorular
Bölüm 24. ADO.NET Bağlantısız Sınıflar
24.1. DbDataAdapter Nesnesi 527
24.2. DataSet ve DataTable Nesneleri 529
24.2.1. DataTable Nesnesinde Kayıt Arama ve Filtreleme
24.2.2. Değişen Kayıtlar Hakkında Bilgi Almak 538
24.2.3. Tablodaki Değişiklikleri İzlemek 541
24.2.4. DataTable ile XML Okuma ve Yazma 542
24.2.5. DataTable Olayları 543
24.2.6. DataSet Nesnesinin Üyeleri 543
24.2.7. LoadOption Numaralandırma 547
24.2.8. DataTable Merge() Yordamı 549
24.3. DataView Nesnesi 552
24.4. Tablodan “TOP N” Kayıt Almak 557
24.5. DataViewManager Nesnesi 558
24.6. DataTableReader Nesnesi 562
24.7. DataRelation Nesnesi 564
24.8. Kısıtlama Kullanımı 569
24.9. Hesaplanmış Kolon Oluşturulması
24.10. Özet
24.11. Sorular
Bölüm 25. DataSet Nesne Türleri
25.1. Typed Dataset Oluşturulması
25.2. Özet
25.3. Sorular
Bölüm 26. DataAdapter Kullanımı
26.1. Tablo Eleştirilmesi 591
26.2. Fill() ve FillSchema() Yordamları
26.3. Update() Yordamı 599
26.4. DataAdapter Olayları 603
26.5. Identity Bilgisinin Alınması 606
26.6. AcceptChangesDuringFill ve AcceptChangesDuringUpdate Özellikleri 610
26.7. Concurrency Violation Sorunu (Eş Zamanlı Uyumsuzluk) 614
26.8. DbCommandBuilder Nesnesi 618
26.9. DataAdapter UpdateBatchSize Özelliği
26.10. Özet
26.11. Sorular
Bölüm 27. İleri ADO.NET Konuları
27.1. ADO NET’te Bağlantı Havuzu
27.2. ADO.NET’te MARS Özelliği
27.3. DataSet ile DataReader Arasındaki Fark
27.4. Asenkron Veri Erişimi
27.4.1. Havuz (Pooling) Modeli
27.4.2. Bekleme (Wait) Modeli
27.4.3. Geri-Çağırma (CallBack) Modeli
27.5. SqlDependency ve SqlBulkCopy Nesneleri
27.6. Data Provider Bağımsızlığı (DbProviderFactory)
27.7. Özet
27.8. Sorular
Bölüm 28. XML Nedir?
28.1. XML Nedir? 665
28.2. XML ve DTD Kullanımı 668
28.2.1. DTD İçerisinde Elementlerin Tanımlanması 670
28.2.2. DTD İçerisinde Özniteliklerin Tanımlanması 673
28.2.3. DTD İçerisinde Varlıkların Tanımlanması 675
28.3 XML İsim-uzayı 676
28.4. XML Şeması 677
28.4.1. Şemada Element ve Öznitelik Tanımlama 678
28.4.2. Kullanıcı Tanımlı Veri Türleri 681
28.4.3. XML Şema Belirteçleri (Adverb) 685
28.5. XML Biçimlendirme Dili (XSL) 688
28.6. XML Adresleme Dili (XPath)
28.7. Özet
28.8. Sorular
Bölüm 29. .NET Framework’te XML Programlama
29.1. Kanal (Stream) Tabanlı XML İşlemleri 695
29.1.1. XmlReader Sınıfının Kullanımı 696
29.1.2. XmlReader ile Belgenin Doğrulanması
29.1.3. XmlWriter Sınıfının Kullanımı 702
29.2. DOM Tabanlı XML İşlemleri 703
29.2.1. XmlDocument Sınıfının Kullanımı 704
29.3. XML Dönüştürme (XslTransform Sınıfı) 708
29.4. .NET’te XPath Uygulaması 709
29.5. DataSet ve XML İlişkisi 710
29.5.1. DataSet’i XML Olarak Yazdırmak 711
29.5.2. XML Belgesini DataSet’e Yüklemek 714
29.6. XmlDataDocument Sınıfı 715
29.7. İlişkili Tablolar ve XML 716
29.8. .NET Serileştirme İşlemleri 719
29.9. Özet
29.10. Sorular
Bölüm 30. C# 3.0 Yenilikleri
30.1. Bilinçsizce Türlendirilmiş Değişkenler 727
30.2. Anonim/İsimsiz Veri Türleri 728
30.3. Nesne ve Koleksiyon İlklendirme 729
30.4. Genişletme Yordamları 730
30.5. Lambda İfadeleri 732
30.6. Parçalı Yordam 734
30.7. Yeni Nesil Veri Programlama Modeli (ADO.NET 3.5)
30.7.1. Varlık-İlişki Modellemesi
30.7.2. Nesne-İlişki Haritalama
30.7.3. ADO.NET Entity Framework
30.8. Özet
30.10. Sorular
Bölüm 31. LINQ Sorgulama Yöntemi
31.1. Dil ile Bütünleşik Sorgulama
31.2. LINQ Sorgu Sözdizimi ve Yürütülmesi
31.3. LINQ Operatörleri
31.3.1. Kısıtlama Operatörleri
31.3.2. Seçme Operatörleri
31.3.3. Bölümleme Operatörleri
31.3.4. Birleştirme Operatörleri
31.3.5. Ulama Operatörleri
31.3.6. Sıralama Operatörleri
31.3.7. Gruplama Operatörleri
31.3.8. Küme Operatörleri
31.3.9. Dönüştürme Operatörleri
31.3.10. Eşitlik Operatörleri
31.3.11. Eleman Operatörleri
31.3.12. Üretim Operatörleri
31.3.13. Ölçüm Operatörleri
31.3.14. Gruplama Fonksiyonu Operatörleri
31.4. İleri LINQ Örnekleri
31.5. Dataset için LINQ
31.6. Özet
31.7. Sorular
Bölüm 32. SQL ve XML için LINQ Kullanımı
32.1. SqlMetal Aracı 788
32.2. O/R Tasarım Aracı 792
32.3. Veri Çekme Sorguları 795
32.4. Veri Güncelleme Sorguları 798
32.5. DLINQ’de SQL İfadelerinin Çalıştırılması
32.6. Stored Procedure ve Function Kullanımı
32.7. DLINQ’de Transaction Desteği 807
32.8. DataContext Sınıfının Veritabanı Yordamları
32.9. XML için LINQ (XLINQ) 815
32.10. XML Belgesini XLINQ ile Sorgulamak
32.10.1. Alt veya Üst Düğümleri Seçme
32.11. XML Belgesinde DML Örnekleri
32.12. Özet
32.13. Sorular
Ek A: .NET Framework Mimarisi ve Bileşenleri
A.1. Framework Class Library (FCL)'nin Önemli İsim-uzayları
A.2. Dosya Formatı (Portable Executable - PE)
A.3. NGEN mi JIT mi?
A.4. .NET Yürütme Modeli (CLR Execution Model)
A.5. Bellek Yönetimi ve Çöp Toplama
A.5.1. Çöp Toplama Algoritması
A.5.2. Finalization
A.5.3. Finalization ve Çöp Toplayıcı
A.5.4. Çöp Toplayıcının Programlaması
A.5.5. Çöp Toplama Performansı
A.5.6. Güçlü ve Zayıf Referanslar
Kaynakça
Dizin
Toplam 980 sayfa.