İÇİNDEKİLER VII İÇİNDEKİLER



Benzer belgeler
1 BİLGİSAYAR VE YAZILIM

İÇİNDEKİLER VII İÇİNDEKİLER

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

İÇİNDEKİLER VII İÇİNDEKİLER 1 INTRODUCTION 1

İÇİNDEKİLER VII İÇİNDEKİLER

1 VISUAL STUDIO MENÜLERİ VE EKRAN GÖRSELLERİ

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

İÇİNDEKİLER VII İÇİNDEKİLER

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

İÇİNDEKİLER VII İÇİNDEKİLER 1 SQL SERVER KURULUMU VE SUNUCUYA BAĞLANMAK 1

1 C#.NET KOD GELİŞTİRME ORTAMI

1 C#.NET KOD GELİŞTİRME ORTAMI

1 JAVASCRIPT NEDİR? 1

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

1 C#.NET KOD GELİŞTİRME ORTAMI

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

Başlangıç 2. Generic İfadeler 3. Arayüzler (Interfaces) 5. LINQ ile Sık Kullanılan Arayüzler 7. Koleksiyon Sınıfları 14

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

ÜNİTE NESNE TABANLI PROGRAMLAMA I İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER DOSYA VE KLASÖR İŞLEMLERİ

1 PROGRAMLAMAYA GİRİŞ

AOSB 2017 EĞİTİM PROGRAMI

Veritabanı İşlemleri

«BM364» Veritabanı Uygulamaları

İÇİNDEKİLER 1. BÖLÜM: VISUAL BASIC E İLK ADIM

IN ve NOT IN Tablodaki alan içeriklerine ulaşmak için IN deyimi kullanılır.

İçindekiler. KISIM 1 Temel Programlama 1. Bölüm 1: Programlama ve Python 3. Bölüm 2: Değişkenler, İfadeler ve Deyimler 13. Giriş 4

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

SQL Komutları (2) Uzm. Murat YAZICI

Mysql Veritabanı Komutları

ÜNİTE İÇİNDEKİLER HEDEFLER. Tarih, Zaman ve Metinsel Metotlar. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA

Her bölüm için kısa bazı girişler yapılacak ve bölüm içerisinde anlatılacak olan konuların genel başlıkları belirtilecektir.

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

VeriTabanı Uygulamaları

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

ÜNİTE NESNE TABANLI PROGRAMLAMA I İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER DOSYA VE KLASÖR İŞLEMLERİ

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Görsel Programlama (Visual Programming) 2.Hafta

YZM 2105 Nesneye Yönelik Programlama

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Microsoft SQL Server Sorgulama

Kullanıcı Dökümanı. Flash B2B. Versiyon 0.1

1 APACHE SERVER KURULUMU 1 Kurulum 1 Apache Ayarları (httpd.conf) 6 PHP Ayarlaları (php.ini) 7 PHP5.4 Yükseltme 8 phpmyadmin Yükseltme 10

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

SQL e Giriş. Uzm. Murat YAZICI

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

ASP.NET ile Bir Web Sitesi Oluşturma

Bilgisayar Programcılığı. Ögr. Gör. Cansu AYVAZ GÜVEN

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

VERİ TABANI YÖNETİM SİSTEMLERİ-II

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

C# Form Uygulamaları. Nesne Tabanlı Programlama I (C#) Ders Notu. S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY

C# Programlama. Visual Studio 2010 Arayüzü. Prof. Dr. Ümit KOCABIÇAK SAKARYA ÜNİVERSİTESİ

Görsel Programlama (Visual Programming) 2.Hafta

Oracle da kullanılan veri tipleri:

YZM 2105 Nesneye Yönelik Programlama

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

Ç NDEK LER 1 PHP 6 1 PHP Nedir? 1 PHP nin Tarihi 2 PHP nin Avantajlar 4 PHP nin Dezavantajlar 4 PHP nin Çal flma Mant 6 PHP nin Çal flma Aral 8 PHP

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

«BM364» Veritabanı Uygulamaları

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

SQL Kod ile Tablo Oluşturma

Değerlendirme Soruları 140. Şerit Kullanımı 124 Şerit Sekmeleri 124 Şeridi Gizleme 125 Eklentiler 125

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

TRAKYA BİRLİK WEBSİTE YÖNETİM PANELİ. Kullanıcı Dokümantasyonu

ASP.NET Versiyonları 8 ASP.NET 1.0 ve ASP.NET ASP.NET ASP.NET 4.0 9

Ç NDEK LER 1 MOB L DÜNYA 1 Girifl 1 Mobil Cihazlar 1 Mobil Cihazlar n Devrimi 5 iphone 6 Blackberry 6 Android flletim Sistemli Cihazlar 7 Windows

C Sharp /Veri tabanı işlemleri

Veri Yapıları ve Algoritmalar dönem

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları

MOBİL UYGULAMA GELİŞTİRME

VERİTABANI. SQL (Structured Query Language)

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

İNTERNET TABANLI PROGRAMLAMA- 3.ders

Veri Tabanı-I 9.Hafta

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

KISIM I: TEMEL KONULAR 1

2 APP INVENTOR A ILK ADIM

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

C#.Net & Linq (Language Integrated Query)

İNTERNET TABANLI PROGRAMLAMA- 4.ders

Transkript:

İÇİNDEKİLER VII İÇİNDEKİLER 1 VISUAL STUDIO 2014 1 Integrated Development Environment 1 Visual Studio IDE 1 Open 2 New Project Penceresi 3 C# Nedir? 5.NET Framework 6 Visual Studio 2014 CTP 7 Start Sekmesi - Recent Sekmesi - Başlangıç Sayfası 7 File Menüsü (Dosya) 8 New (Yeni) 8 File 9 C# Windows Forms Projesi 9 New Project Penceresi 10 Genel Menüler ve Menü ikonları 10 ToolBox (Araç Kutusu) 10 Solution Explorer (Çözüm Gezgini) 10 Solution Explorer Sağ Tıklama Menüsü 11 Build Solution (Projeleri Derlemek) 12 Open Project (Varolan Projeleri Açmak) 13 Add New Project 13 Close and Close Solution 14 Recent Project And Solutions 14 Yazıcıda Kod Satir Numaralarını Görmek 14 Edit Menüsü (Düzen) 14 Undo Redo (Geri Sar, İleri Sar) 15 Cut (Keserek Kopyala) 15 Copy (Kopyala) 16 Paste (Yapıştır) - Mouse Sürükle Bırak 16 Delete (Sil) 17 Find and Replace (Bul ve Değiştir) 17

VIII PROJELER İLE C# VE SQL SERVER Outlining 19 Region 19 Intellisense 20 Organize Usings 21 List Members - Parameter Info - Quick Info 22 View Menüsü (Görünüm) 22 Code - Designer - Solution Explorer 23 Solution Sağ Menü 24 Add-New Project 25 Add-New Item 25 Project Sağ Menü 25 References Sağ Menü 25 AppConfig 25 Form CS - Program CS 26 Toolbox 26 Toolbox En Çok Kullanılan Kontroller 28 Toolbox Penceresinden Forma Kontrol Sürükleme 28 Properties Window 29 Properties Penceresi İkonları 29 Error List 29 Start Page 30 Build Menüsü 30 Projenin EXE Hali 32 Debug Menüsü 32 Window - Projeyi Çalıştırmak 32 Projeyi Hata Ayıklama Modunda Çalıştırma 32 Projeyi Hata Ayıklama Olmadan Çalıştırma 33 Toggle Breakpoint 33 Projeyi Adımlar Halinde Çalıştırma (Step) 34 Step Over - Step Into - Step Out 34 Projeyi Adımlamak - QuickWatch 34 Proje Çalıştırmak ve Kodları Debug Etmek 35 Tools Menüsü 36

İÇİNDEKİLER IX Choose Toolbox Items 36 C# Snippets 37 Options 38 Environment - General 38 Fonts and Colors - Projects And Solutions 39 Text Editor - General 39 Console Projesi Başlatmak - Console Metotları 42 2 PROJE GELİŞTİRMEK, FORM PROPERTIES VE EVENTS 45 Form Application 45 Name Property - Text Property 45 BackColor - ForeColor - FormBorderStyle 46 BackgroundImage 47 BackgroundImageLayout - Font 48 AllowDrop - ContextMenuStrip 48 Enabled - Locked - AutoScroll - AutoSize - AutoSizeMode 49 MaximumSize - MinimumSize - Size 50 StartPosition - Windowstate - Icon 50 MainMenuStrip - MaximizeBox - MinimizeBox 51 Opacity - ShowIcon - ShowinTaskbar 51 SizeGripStyle - TopMost - Events (Olaylar) 51 Click - MouseClick 52 DoubleClick - MouseDoubleClick - Scroll - ControlAdded 53 ControlRemoved - FormClosed - FormClosing - FormLoad 54 Shown - DragDrop - DragEnter 54 DragOver - Olay Parametreleri - EventArgs 55 Sender 56 Kod Yazmak 56 Kod Yazım Kuralları 57 Using İfadeleri - Using İfadelerini Kaldırmak 59 Proje: Form Properties ve Initializer 62 Proje: Form Load ve Click Olayı ve Properties 69 NameSpace Keywords - NameSpace - Using ve References 76 IDisposable - Nokta Operatörü - :: İki Nokta Operatörü 77

X PROJELER İLE C# VE SQL SERVER Access Modifiers (Erişim Belirteçleri) 78 Private (Özel) - Public (Genel) - Protected (Korumalı) - Internal (Dâhili) 78 Protected Internal (Dâhili Korumalı) 78 Assembly 79 Class Hakkında Genel Bilgiler 79 Class Çeşitleri 79 Partial Class - Sealed Class 79 Abstract Class - Static Class 80 Instance - Inheritance 80 Region 81 Varsayılan Kontrol Olayları 82 Proje: Form ControlAdded ve Remove Olayı 82 Proje: Form MouseClick ve MouseDoubleClick Olayı 89 Proje: Form Closed ve Closing Olayı 92 Proje: Form Shown Olayı 96 Forma Resim Sürüklemek - Proje: Form DragEnter Olayı 100 3 DEĞİŞKENLER, VERİ TİPLERİ VE OPERATÖRLER 105 Variable (Değişken) 105 Veri Tipleri 106 Değer Tipleri - Sayısal Veri Tipleri - Karakter Veri Tipi 106 Mantıksal Veri Tipi - Sayısal Ondalık Veri Tipleri 107 Tarih Veri Tipi - Referans Tipleri - Object Veri Tipi 107 String Veri Tipi Bit Hesaplama - Var otomatik Tip Algılayıcısı 108 Proje: Veri Tipleri ve Boyut Hesaplama 108 Değişken Adlandırma Kuralları 114 Değişken Adlandırma Standartları 115 Camel Case - Pascal Case - UpperCase 115 Sabit Değişkenler - Değişkenlerde Ömür 116 Global Değişkenler - Local Değişkenler 116 Scope (Kapsam) Kavramı - Class Scope - Block Scope 117 Proje: Global ve Local Değişkenler. 117 Bellekteki Yerlerine Göre Değişkenler 121 Stack - Heap 121

İÇİNDEKİLER XI Boxing ve Unboxing 122 Operatörler 122 Aritmetik Operatörler 122 Atama Operatörleri - Mantıksal Operatörler 123 Karşılaştırma Operatörleri - Diğer Operatörler ve Semboller 124 İşlem Önceliği 125 Proje: Operatörler 126 4 TİP DÖNÜŞÜMLERİ VE DEĞİŞKEN TİPLERİNİ ANLAMAK 133 Değişkenlerin Tip Dönüşümleri 133 Casting Yöntemi - Implicit (Bilinçsiz) Tür Dönüşümü 133 Küçük Tip Büyük Tipe Çevrilirse 134 Büyük Tip - Küçük Tipe Çevrilirse 134 Explicit (Bilinçli) Dönüşümler 134 Convert Yöntemi 136 Convert Metodunun Döndürdüğü Hatalar 137 Konsol Projesi: İki Rakamı Toplamak (Convert) 137 String Türü Dönüşümler 137 Parse Yöntemi 138 Konsol Projesi: Dörtgenin alanını bulmak (Parse) 138 TryParse 139 Konsol Projesi: Doğum Yılına göre yaşı bulmak (TryParse) 139 As İfadesi İle Tip Çevirimi 140 Değişken Tiplerini Anlamak 148 GetType() Değişken Tiplerini Anlamak - TypeOf() veya is Kullanımı 148 5 MESSAGEBOX SINIFI 153 Mesaj Kutusu 153 MessageBox.Show Metodu Overload ları 153 Mesaj Kutusu Butonları 154 MessageBoxButtons Enum Listesi - Mesaj Kutusu İkonları 155 MessageBoxIcons Enum Listesi - MessageBoxDefaultButton Enum 156 DialogResult 157

XII PROJELER İLE C# VE SQL SERVER 6 KONTROL DEYİMLERİ 165 If - Else If - Else 165 Switch Case 167 Ternary 175 İç İçe Ternary 182 7 DÖNGÜLER 185 Döngüler 185 For Döngüsü 186 Proje: Forma Döngü İle ComboBox eklemek. 196 Foreach Döngüsü 198 AddRange ve Kontrol Item 203 While Döngüsü 204 Sonsuz Döngü - Sonsuz While - Sonsuz for döngüsü 205 Döngüyü Sonlandırmak 209 Do While Döngüsü 210 Atlama Komutları -Döngülerde Kullanılanlar 212 Break 212 Continue 213 Döngü Dışında Kullanılanlar - GoTo 214 Return 216 8 DİZİLER ARRAY 217 Diziler (Array) 217 Dizileri Tanımlamak ve Değer Ataması Yapmak 218 Döngü ile Diziye Değer Atamak - Döngü ile Diziden Değer Okumak 220 Length Özelliği 221 Array Clear Metodu - Array Reverse Metodu 223 Array IndexOf Metodu - Proje: Diziler (Array) 232 Dizi Elemanları ve AddRange Metodu 234 Projemize Yeni Form Eklemek 236 Collections (Koleksiyonlar) 242 ArrayList Class (Sınıfı) 243 ArrayList Özellikleri ve Metotları 246

İÇİNDEKİLER XIII Listeye Eleman Eklemek - Add Metodu 246 AddRange Metodu - Insert Metodu 247 InsertRange Metodu 247 Kapasite 247 Capacity Özelliği - TrimToSize Metodu 247 Eleman Sayısı - Count Özelliği 248 Temizleme/Silme İşlemleri 248 Clear Metodu - Remove Metodu 248 RemoveAt Metodu 248 RemoveRange Metodu 249 Arama İşlemleri 249 Contains Metodu -IndexOf Metodu - LastIndexOf Metodu 250 Sıralama - Sort - Reverse 250 Tip Çevirimleri - ToArray Metodu 250 Matematiksel Linq İfadeleri 262 HashTable Sınıfı 264 HashTable Elemanları ve DictionaryEntry 267 Tek Satir Kod İçin Süslü Parantez Gerekmez 267 HashTable Özellikleri ve Metotları 267 Arama İşlemleri - ContainsKey Metodu 268 SortedList Sınıfı 269 SortedList Özellikleri ve Metotları 270 GetKey Metodu - IndexOfKey - IndexOfValue 271 Queue - Stack 273 Jenerik Koleksiyonlar 278 Collections ve Generic Benzerlik Tablosu 279 Generic List Sınıfı 279 Generic List Özellikleri ve Metotları 279 Generic Dictionary 289 Generic Sorted List 291 Generic Queue - Generic Stack - Generic SortedDictionary 292 Tuple 293

XIV PROJELER İLE C# VE SQL SERVER 9 DİĞER VERİ TİPLERİ 297 Nullable Tipler Metot ve Özellikleri 297 Properties - Value - HasValue 297 Methods - GetValueOrDefault 298 Guid 298 Struct 300 Enum 301 Enum Struct Farkları 301 Enum Metotları - GetName - GetNames - GetValues 305 Enum Parse Metodu 306 10 REGEX CLASS 307 Regex Sınıfı 307 Karakterler - Özel Karakterler 308 IsMatch Metodu 309 Mail Adresi Regex 310 Tarih Formatı Regex - Sadece Rakam Girişi İçin Regex 311 Harf ve Rakam Girişi İçin Regex 311 11 ENVIRONMENT INFORMATION APPLICATION RANDOM TIMER CLASS 317 Environment Class 317 Environment Özellikleri 317 Environment Metotları 318 Bir Sınıfın Özelliklerini Listelemek 320 SystemInformation Class 323 SystemInformation Sınıfı Özellikleri 324 Application Class 327 Sistemdeki Ondalık Ayracı Bulmak 331 Random Class 332 Kurucu (Constructor) Metodu 332 Random Metotları - Next - NextBytes - NextDouble 333 Timer Class 337 Timer Kontrolü Özellikleri - Enabled - Interval - Tag 337 Timer Kontrolü Events - Tick 338

İÇİNDEKİLER XV Timer Kontrolü Metotları -Dispose - Start - Stop 338 Form Transparan Özelliği 340 12 METOTLAR 345 Değer Döndürmeyen (void) Metotlar 345 Değer Döndüren Metotlar 346 Dönüş Değeri - Metotlarda Parametre - İsimlendirilmiş Parametreler 347 Erişim Belirteçleri 351 Static Metotlar 351 Proje: Metot ile TextBox Oluşturmak 351 Proje: Değer Döndüren ve Döndürmeyen Metotlar 354 Sadece Rakam Girişine İzin Vermek 356 Sistem Ondalık Ayracını Bulmak 358 Keys 362 Constructor (Yapıcı Metot) 363 Default Constructor 365 Metotların Aşırı Yüklenmesi (Overloading) 366 Olay Metotları 373 Event Handler 374 FlowLayoutPanel Kontrolü 376 Recursive Metotlar 380 Tarih Biçimlendirme 385 Summary (Metot Açıklamaları) 390 Params (Parametrelere Birden Fazla Değer Göndermek) 390 Bir Metodu Çağırmak 392 Butona Her Tıklandığında Rengi Değişsin 396 Metotlar ve Class Kavramı 398 Hazır Bir Sınıfın Projeye Eklenmesi - Include İşlemi 398 Projeye Yeni Class Eklemek 399 1- New Instance Class 399 2- Static Class 402 Metotlarda Out Parametresinin Kullanımı 406 Extension Methods 416 Class Library Projesi Başlatmak - Dynamic Link Library Oluşturmak 417

XVI PROJELER İLE C# VE SQL SERVER DLL ve MyExtension metodu 419 IsCift Metodu - IsNumerIc Metodu 420 Dynamic Link Library Derlemek 421 Proje: Bir Projede Dynamic Link Library Kullanmak 421 Projelere Referans Eklemek 422 Method Override 426 Personel Class ı 427 13 STRING VE STRING BUILDER CLASSES, STOPWATCH CLASS 437 String Sınıfı 437 String Class Properties 437 Char Özelliği - Length Özelliği 438 String Class Methods 438 Kopyalama İşlemleri - Clone - Copy 438 Karşılaştırma - Compare 438 Birleştirme 439 Concat - Join 439 Insert 440 Silme - Remove 440 Değiştirme - Replace 440 Parça Alma - Substring 441 Metin Bölme - Split 441 Ekleme - PadLeft - PadRight 442 Kırpma - Trim - TrimStart - TrimEnd 443 Arama 443 Contains - StartsWith - EndWith 443 IndexOf - LastIndexOf 444 Null Kontrolleri - IsNullOrEmpty - IsNullOrWhiteSpace 446 Biçimlendirme - Format 447 Formatlama Belirteçleri 447 Rakamsal Formatlama Listesi - Tarihsel Formatlama Listesi 448 Çevirim İşlemleri 449 Karakterlerine Ayırma - ToCharArray 449 Harf Çevirimleri - ToLower - ToUpper - ToTitleCase (CultureInfo Class) 450

İÇİNDEKİLER XVII ToString 451 TC Kimlik No Kontrolü 462 StringBuilder Sınıfı 466 StopWatch 467 StringBuilder Properties - Capacity - MaxCapacity - Length 469 StringBuilder Methods 469 Append 469 AppendLine - AppendFormat - Clear - CopyTo - EnsureCapacity 470 Equals - Insert - Remove - Replace 471 StopWatch Sınıfı 476 StopWatch Özellikleri 476 Elapsed 476 ElapsedMilliseconds - IsRunning 477 StopWatch Metotları - Reset - Restart - Start - StartNew - Stop 477 14 MATH VE DATETIME CLASSES 479 Math Class 479 Metotları 479 Abs - BigMul - Ceiling - Floor - Log10 479 Max - Min - Pow - Round - Sqrt - Truncate 480 DateTime Sınıfı 482 UTC 482 DateTime Özellikleri 483 Today - Now - UtcNow - Date 483 Day - Month - Year - DayOfWeek - DayOfYear - TimeOfDay 484 Hour - Minute - Second - Millisecond 484 Kind 485 DateTime Metotları 487 Ekleme İşlemleri 487 Add 487 AddYears - AddMonths - AddDays - AddHours - AddMinutes 488 AddSeconds - AddMilliseconds 488 Tarih Farkını Bulmak - Subtract 488 Karşılaştırma 489

XVIII PROJELER İLE C# VE SQL SERVER Compare 489 CompareTo 490 Equals 490 Ayın Son Gününü Bulmak - DaysInMonth 490 From - FromFileTime - FromFileTimeUtc - FromOADate 491 To 491 ToOADate - ToLocalTime - ToUniversalTime 492 ToLongDateString - ToLongTimeString 492 ToShortDateString - ToShortTimeString 493 Is - IsDaylightSavingTime - IsLeapYear 493 TimeSpan Struct 494 TimeSpan Properties 495 Days - Hours - Milliseconds - Minutes - Seconds - Ticks - TotalDays 496 TotalHours - TotalSeconds - TotalMinutes 496 TotalMilliseconds 497 TimeSpan Methods 497 Ekleme - Add 497 Karşılaştırma 497 Compare 497 Equals 498 Çıkarma - Subtract 498 From 498 FromDays - FromHours - FromMinutes - FromSeconds 498 FromMilliseconds - FromTicks 498 İşaretleme - Negate 498 Tip Çevirimleri - Parse - TryParse 498 15 HATA DENETİMİ 501 Try Catch Finally 501 Exception Class 502 Properties (Özellikler) 502 HelpLink - Message - Source - StackTrace - TargetSite 502 Exception Methods (Metotlar) 503 GetType - ToString 503

İÇİNDEKİLER XIX Sadece Ondalık Sayıya İzin vermek 506 Other Exceptions Classes 509 ArgumentException - ArgumentNullException - 509 DivideByZeroException - FormatException - SqlException 509 IndexOutOfRangeException - OverflowException 509 Throw 509 Hata Yakalamak 513 Yazım Hataları 520 Parantez Hataları 520 Büyük - Küçük Harf Hataları - Noktalama Hataları 521 Runtime Hataları 523 ErrorProvider 523 Silinen Olay Metotları 524 Olay Metotlarını Resetlemek 525 Olay Metodunu Standart Dışı Adlandırmak 526 Bir Metodu Farklı Adlandırılmış Bir Olaya Bağlamak 526 16 DOSYA VE KLASÖR İŞLEMLERİ (SYSTEM.IO) 529 System.IO Kütüphanesi 529 IO NameSpace Classes 529 Directory Class 530 Directory Methods 530 Proje: System_IO 530 Klasör Oluşturma İşlemleri 530 CreateDirectory 530 Exception Listesi 531 Klasör adında Kullanılamayan işaretler 531 Klasör Silme İşlemleri 532 Delete 532 Klasörleri Listelemek 533 EnumerateDirectories 533 Klasör Var mı? 534 Exists 534 Get İşlemleri 534

XX PROJELER İLE C# VE SQL SERVER GetCreationTime - GetCreationTimeUTC - GetCurrentDirectory 534 GetDirectories - GetDirectoryRoot - GetFiles 535 GetFileSystemEntries - GetLastAccessTime - GetLastAccessTimeUTC 537 GetLastWriteTime - GetLastWriteTimeUtc - GetLogicalDrives 538 GetParent 539 Set İşlemleri 539 SetCreationTime - SetCreationTimeUtc - SetCurrentDirectory 539 SetLastAccessTime - SetLastAccessTimeUtc 540 SetLastWriteTime - SetLastWriteTimeUtc 540 Taşıma - Move 540 DirectoryInfo Class - DirectoryInfo Özellikleri 541 Klasör Var mı? - Exists 541 Klasörün Adı - Name - Üst Klasöre Ulaşım - Parent 541 Kök Dizin - Root 542 DirectoryInfo Metotları 543 Klasör Oluşturmak - Create 543 CreateSubDirectory 544 Klasör Silmek - Delete 544 Klasör Listelemek 544 EnumerateDirectories - EnumerateFiles 544 EnumerateFileSystemInfos - GetDirectories 544 GetFiles - GetFileSystemInfos 544 Klasör Taşımak - MoveTo 544 Linq Where İfadesi 554 DriveInfo Class 556 Dosya Depolama Kapasiteleri 556 DriveInfo Özellikleri 556 Disk Boyutları 556 AvailableFreeSpace - TotalFreeSpace - TotalSize 556 Sürücü Format ve Tipleri 556 DriveFormat - DriveType 556 Disk Hazır mı? 557 Disk Adı, Etiketi - Name - RootDirectory - VolumeLabel 557

İÇİNDEKİLER XXI DriveInfo Metotları - Tüm Diskleri Listelemek - GetDrives 557 Path Class 562 Path Class Fields 562 Klasör Ayraçları - AltDirectorySeparatorChar 562 DirectorySeparatorChar - PathSeparator 562 VolumeSeparatorChar - InvalidPathChars 562 Path Class Metotları 563 Path Parametresi Klasör mü? 563 Dosya Uzantısını Değiştirmek - ChangeExtension 564 Klasör Yol Bilgisini Kombine Etmek 564 Combine 564 Get İşlemleri 564 GetDirectoryName - GetExtension 564 GetFileName - GetFileNameWithoutExtension 565 GetFullPath - GetInvalidFileNameChars 565 GetInvalidPathChars - GetPathRoot - GetRandomFileName 565 GetTempFileName - GetTempPath 566 Dosyanın Uzantısı Var mı? - HasExtension 566 Klasörde Bir Kök Dizin Var mı? - IsPathRooted 566 File Class 568 File Class Metotları 568 Dosyaya Metin Ekleme İşlemleri 568 UTF-8 Nedir? 568 AppendAllLines - AppendAllText 569 AppendText - WriteAllBytes 569 WriteAllLines - WriteAllText 570 Okuma İşlemleri 570 ReadAllBytes - ReadAllLines - ReadAllText - ReadLines 570 Dosya Oluşturma İşlemleri - Create - CreateText 570 Dosya Kopyalama - Copy 570 Dosya Taşıma - Move 571 Dosyanın Silinmesi - Delete 571 Değiştirme İşlemleri - Replace 571

XXII PROJELER İLE C# VE SQL SERVER Şifreleme İşlemleri - Encrypt Decrypt 571 Dosya Açmak 571 Open - OpenRead 571 OpenWrite - OpenText 572 Dosya Var mı? - Exists 572 Get İşlemleri 572 GetAccessControl - GetAttributes 572 GetCreationTime - GetLastAccessTime 572 GetLastAccessTimeUtc - GetLastWriteTime 572 GetLastWriteTimeUtc 572 Set İşlemleri 572 SetAccessControl 572 SetAttributes - SetCreationTime 573 SetCreationTimeUtc - SetLastAccessTime 573 SetLastAccessTimeUtc - SetLastWriteTime 573 SetLastWriteTimeUtc - Proje: NoteWriteReadPrograming 573 MemoryStream ile Dosya Okumak 583 FileInfo Class 584 FileInfo Properties 584 Directory - DirectoryName - Name 585 Exists - IsReadOnly - Length 585 FileSystemInfo Class 585 Özellikleri - Attributes 585 CreationTime - Extension - FullName - Name 586 LastAccessTime - LastWriteTime 586 Metotları - Delete 587 MemoryStream Class 587 Özellikleri 587 CanRead - CanSeek - CanWrite - Capacity - Length - Position 587 StreamReader Class 588 StreamReader Özellikleri - CurrentEncoding - EndOfStream 588 StreamReader Metotları 588 Close - Read 588

İÇİNDEKİLER XXIII ReadLine - Peek 589 StreamWriter 589 StreamWriter Özellikleri - Encoding - AutoFlush 589 StreamWriter Metotları 589 Close - Write - WriteLine - Proje: NotepadLike 589 FileSystemWatcher 599 FileSystemWatcher Özellikleri 600 EnableRaisingEvents - Filter - IncludeSubdirectories 600 NotifyFilter - Path 600 Olayları 600 Changed - Created - Deleted - Renamed 600 Proje: Klasördeki Dosya Değişikliklerini Takip Etmek 601 WriteLineAsync (Asenkron) 603 17 XML 605 Proje: XML Sample - ReadXML 605 Root Element - Node Element 606 Child Element - XML Element - Inner Text 607 DataSet ReadXml Metodu 609 XmlDocument 609 Proje: TCMB Kurlarını Çekmek 613 DataSet Sınıfı ve XML 619 Proje: XML ve ADO.Net 620 Proje: Haber Siteleri ve RSS 622 18 THREAD 625 Proje: Thread İle Ayni Anda Birden Fazla İşlem Yapmak 625 Proje: ProgressBar Thread 625 Proje: StopWatch Thread 629 19 1 SQL SERVER VE T-SQL 631 Veritabanı 631 SQL Sorgulama Dili 632 SQL Server 632

XXIV PROJELER İLE C# VE SQL SERVER Server Type 633 Database Engine - Analysis Services 633 Reporting Services - Integration Services 633 Database Engine 633 Sistem Veritabanlarının Görevleri 634 Normalizasyon Kuralları 634 İlişkisel Veritabanı Mantığı 636 Primary Key 636 Set Primary Key 637 Composite Key - Foreign Key - Unique Constraint 638 Unique ve Primary Key Benzerliği 639 İlişkisel Veritabanı 639 19 2 SORGU YAZMAK 643 Sorgu Nereye Yazılır? 643 USE - Schema ve DBO 644 GO - Print 645 Sorgu Yazmak 645 Select Sorgusu 645 Sorgu Yazarken Dikkat Etmeniz Gerekenler 646 Sorgularda * Kullanmanın Eksileri 647 Sorgu Sonucunu Excel e Kopyalamak 648 19 3 SORGULARDA KOŞUL, VERİLERİ SIRALAMAK 649 Where 649 Between And - Koşulda Fonksiyon Kullanmak 650 Distinct (Sorguda Sütun Tekrarlarının Önüne Geçmek) 652 AND 653 OR 654 IN 655 Like 656 Özel Karakterler 656 Space 658 Karşılaştırma Operatörleri 659

İÇİNDEKİLER XXV Null - Is Null Operatorü - IsNull Function 660 Order By 661 Top 662 With Ties Parametresi 663 19 4 VERİ TİPLERİ VE TİP ÇEVİRİM İŞLEMLERİ 665 Verilerin tipleri - Değişkenler 665 Değişken Adlandırma Kuralları 666 Tip Çevirim İşlemleri - Convert 667 Tarih Tipi Çevirimleri 669 Try_Convert - Cast 670 Parse - Try_Parse 671 Veri Tipleri 672 19 5 TRANSACT-SQL 673 DML (veri işleme dili) 673 Select - Update - Delete 673 Insert 674 DDL - Create Table - Alter Table - rop Table - Create Index 674 DCL 674 19 6 SQL SERVER FONKSİYONLARI 675 Date Functions 675 DateDiff 675 GetDate - DatePart 677 DateAdd 678 Tarihler Arasında Yil, Ay, Gün Farkı ve Yaş Hesabi 679 DateName - Day - Month - Year - DateFromParts 681 DateTimeFromParts - SmallDateTimeFromParts 682 TimeFromParts - SysDateTime 682 GetUtcDate - @@DateFirst - CurrentTimeStamp - Eomonth (Ay Sonu) 683 SysDateTimeOffset - SwitchOffset - IsDate 684 UTC 684 Tarih Formatını Geçici Olarak Değiştirmek 685

XXVI PROJELER İLE C# VE SQL SERVER Aggregate Functions 685 Avg - Count 686 Sum 687 Max-Min 688 Scalar Functions 688 String Fonksiyonları 688 Upper - Lower 688 SubString 689 Len - Round 690 Ascii - Unicode - Char - CharIndex - Left - Right 691 Rtrim - Ltrim - Replace - Reverse 692 Format - Concat 692 Replicate - Patindex 693 Group By 693 Having 695 Str 697 Stuff 698 Set Statement 698 DateFirst - RowCount - DateFormat 698 Kullanıcı Tanımlı Fonksiyonlar 699 KDV Fonksiyonu 699 Fonksiyonların Konumu 700 Tarihleri Türkiye formatında gösteren Fonksiyon 701 Ay Adını Döndüren Fonksiyon 701 19 7 KOŞUL YAPILARI 703 Case When Then 703 If Exists 705 19 8 JOIN 707 Diagram 708 Inner Join - Left Join 708 Right Join - Outer Join - Full Join 709 Bir Tabloya Veri Eklemek 709

İÇİNDEKİLER XXVII InnerJoin Örneği 710 Left Join Örneği 711 Right Join Örneği - Full Join Örneği 712 Join Kullanarak Sorgu Yazmak 713 Diğer Join Örnekleri 715 Edit Modunda Sorgu Yazmak 717 19 9 DML INSERT, UPDATE, DELETE 719 Data Manupilation Language 719 INSERT 719 Şarta Bağlı Insert Sorgusu 720 Sütun Belirtmeden Insert Sorgusu Yazmak 721 Aynı Anda Birden Fazla Veri Insert Etmek 722 UPDATE 723 DELETE 724 TRUNCATE 725 Query Designer 725 Diagram - Criteria 726 SQL Sorgusu 727 Edit Query Designer 730 Change Type - (Bir Sorgunun Türünü değiştirmek) 730 Insert Values 731 Update 732 Delete 734 Sorguları Gruplamak 734 19 10 STORED PROCEDURE 735 Parametrelerde Like Kullanımı 737 Procedure İle Değer Döndürmek ve Return 738 Employees Tablosuna Yeni Bir 740 Personel Ekleyen Prosedür 740 Yeni Bir Kategori Ekleyen Prosedür 742 Ürün Miktarı ve Fiyatını Ekleyen Prosedür 744 Ürün ve Kategorisini Ekleyen Prosedür 746

XXVIII PROJELER İLE C# VE SQL SERVER Prosedürlerin Konumu 748 Ürünü ve Kategorisini Silen Prosedür 748 19 11 IN MEMORY OLTP (HEKATON) 751 In Memory OLTP İşlem Sırası 751 Hekaton Kısıtlamaları 752 Hekaton, Disk Table Hız Karşılaştırması 752 Veritabanı Oluştur 753 Memory Optimized Data 753 Hekaton FileGroup ve File 753 Hekaton Table 753 Data Saklansın 754 Disk Table 754 Memory Optimized (Hekaton) Tabloya Insert 754 Memory Optimized Tabloya Natively Procedure İle Insert 756 Diskteki Bir Tabloya Insert 757 Diskteki Bir Tabloya Procedure ile Insert 758 In Memory OLTP ÖZET 758 Verilerinizi Buluta Taşıyın 759 Microsoft Azure Deneme Hesabi Açmak 760 Azure ve URL Backup 762 Storage 762 Containers 763 Credential 764 URL Backup 765 URL Restore 767 20 OBJECT ORIENTED PROGRAMING 769 Nesne Yönelimli Programlama 769 Abstraction 769 Inheritance 769 Polymorphism 769 Encapsulation 770 Class Bileşenleri 770

İÇİNDEKİLER XXIX Methods - Fields - Properties - Constructors - Events - Delegates 770 Proje: Object Oriented Programing Kisi Class 771 Proje: Kişi Sınıfı 771 Auto Generated Property 773 Proje: Nesne Yönelimli Programlama Bisiklet Montaj 778 Proje: Nesne Yönelimli Programlama Araç Galerisi 784 Enum Yüklemek 788 Method Override 789 ListBox kontrolünde Delete tuşu ile veri silmek 799 Resim Yükleme İşlemi 799 Resmi Sürükle Bırak Yöntemi ile yüklemek 800 DragDrop (Sürükle Bırak) 800 Proje: Resim Sürükleme Bırakma ve DragDrop 801 Class Library (DLL) ve Inheritance 806 Bir Özelliğin Aslında Hangi Sınıfa Ait Olduğunu Bulmak 808 User Control 808 Referans Yüklemek 809 Proje: MineTextBox 810 Miras Alma İşlemi (Inheritance) 813 Class Library DLL Kütüphanesinin Kullanımı 817 Proje: User Control Kullanmak 817 Bir Sınıfın Özelliklerini Listelemek - Bir Sınıfın Metotlarını Listelemek 819 ComboBox Açılan Liste Genişliği 820 21 RUNTIME CONTROLS 823 Runtime Controls Add 823 Proje: Seyahat İşletmesi 823 FlowLayoutPanel Otomatik Ölçeklendirme 829 22 RESİM İŞLEMLERİ 837 Resim Galerisi 837 Proje: Resim Galerisi 839 Olay Tanımlamak 843 Sender ve Tip Çevirimi 843

XXX PROJELER İLE C# VE SQL SERVER Proje: Mac Ronalds - Hamburgerci 848 Proje: Resource Yöntemi İle Resim Yüklemek 848 Proje: Disk Klasör ve Dosya Listeleyici 857 Proje: StatusStrip Kontrolü 858 Proje: QRCode-Kare Kod 872 Çoklu Form Çalışmaları 879 Aynı Proje İçerisinden Erişim 880 Farklı Projeden Erişim 882 23 ACTIVEX DATA OBJECT.NET 885 Activex Data Object.NET 885 Connected Mimari 885 Connected Mimaride Kullanılan Sınıflar 885 SQLConnection 885 SQLCommand 886 SQLDataReader 886 Disconnected Mimari 886 Disconnected Mimaride Kullanılan Sınıflar 886 SQLConnection 886 SqlDataAdapter 886 SqlDataSet 887 Veritabanı Connected Mimari Bağlantısı 888 Connected Mimari ve Data Reader 889 SqlDataReader İçin Instance Alınmaz 890 Active Directory ve ADO.NET Bağlantısı 891 SQL Command Metotları 892 ExecuteNonQuery - ExecuteReader 892 CommandBehavior Enum Listesi - CloseConnection 892 SingleRow 893 ExecuteSclar 893 Proje: Disconnected Mimari 893 Referans Tipli Değişkenler ve Dispose 895 Enabling Multiple Active Result Sets 895 Stored Procedure ve SqlCommand 895

İÇİNDEKİLER XXXI Kategori Listeleyen Prosedür 895 Ürün Listeleyen Prosedür 897 Sipariş Listeleyen Prosedür 898 Sipariş Detaylarını Listeleyen Prosedür 899 Proje: SQL Server Prosedürü Kullanmak 900 ListView SubItems.Add 921 Bir Projeyi Referans Olarak Kullanmak 930 Out Parametresi ve Ado.Net 939 Data Table ve DataBinding 947 Proje: Binding Context 947 Kontrollere Olay Ataması Yapmak 952 24 NESNE YÖNELİMLİ PROGRAMLAMA, KATMANLI MİMARİ VE ADO.NET 955 Ado.Net teknolojisi ve OOP 955 Katmanlı Mimari 956 Entity 956 Facade 956 Tool 957 Entity Class Library 957 Tool Class Library 961 Facade Class Library 963 DataReader Null Kontrolü 966 DataGridView Kontrolünde Arama 972 Proje: Tablolarda Arama ve Class Library 972 25 ENTITY FRAMEWORK 6.1.1 VE LINQ 979 ADO.NET Entity Data Model 980 Entity Data Model Wizard 981 Choose Model Contents 981 Choose Your Data Connection 982 Choose Your Database Objects And Settings 983 Datatable Load Metodu Hızlı Veri Yükleme 987 Linq ve Lambda Expression 989 ComboBox Görüntülenen Veri 992

XXXII PROJELER İLE C# VE SQL SERVER ComboBox Arkaplanda Saklanan Veri 992 SelectionChangeCommitted Olayı 992 Linq ve Lambda Expression Join 995 Proje: Linq ve Lambda Join 995 DataGridView Satir Numaralandırma 1001 Proje: Empty Entity Framework Desinger Model 1002 EDMX Relations - Generate Database (Veritabanı Oluşumu) 1008 Linq CRUD İşlemleri ve Empty Model 1012 CRUD Class 1012 MenuStrip Kontrolü ve Menü Eklemek 1024 Kontrollerin Tag Özellikleri 1026 Application Sınıfı OpenForms Özelliği 1032 Açık Formlara Erişim 1032 26 INTERFACE, ABSTRACT CLASS 1035 Interface 1035 Implement İşlemi 1037 Abstract Class 1043 Override İşlemi 1044