Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Doğrudan C#.NET
Doğrudan C#.NET
Doğrudan C#.NET
Ebook665 pages2 hours

Doğrudan C#.NET

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Doğrudan C#.Net Fundamentals Desktop Database Web Kitabı - Zafer Teker

Bu kitapta C# dili ve .NET platformunun temel konularının yanısıra, orta ve ileri düzey konular da işlenmektedir. Nesneye yönelik programlamanın temelleri örneklerle anlatmaktadır. Programlama dili ile ilgili konular dışında çeşitli temel kütüphaneler, masaüstünde Windows, ADO.NET & MS SQL veritabanı, ASP.NET ile Web programlama, XML işlemleri ve Web Services, ASP.NET MVC ve Entity Framework gibi konular kitabın kapsamına eklenmiştir.

Aşağıdaki konuları içerir:

  • C# Fundamentals & Object-Oriented Programming
  • Desktop Programming
  • ADO.NET & Entity Framework
  • ASP.NET ve ASP.NET MVC
  • Web Services : REST & SOAP

Kitabın yazarı yazılım mühendisi Zafer Teker, yazılım geliştirme alanında 2000'li yılların başlarından beri projeler geliştirmekte, eğitimler vermekte, çevrimiçi ortamlarda, öğrencilere bilgisayar, teknoloji, bilim, eğitim gibi konularda bilgi veren içerikler yazmakta, uygulamalar geliştirmekte ve siteler kurmaktadır.

LanguageTürkçe
PublisherOnder Teker
Release dateJul 28, 2018
ISBN9786056142499
Doğrudan C#.NET

Read more from Zafer Teker

Related to Doğrudan C#.NET

Related ebooks

Reviews for Doğrudan C#.NET

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Doğrudan C#.NET - Zafer Teker

    Doğrudan

    C#.NET

    Fundamentals

    Desktop

    Database

    Web

    Zafer Teker

    Godoro Yayıncılık

    GODORO YAYINCILIK

    Yayıncı Sertifikası No: 18531

    Kitabın Adı:

    Doğrudan C#.NET Fundamentals Desktop Database Web

    Copyright © 2017 Godoro Yayıncılık

    Kitabın Yazarı:

    Zafer Teker

    Birinci Basım, Nisan 2017, İstanbul

    ISBN:

    978-605-61424-9-9

    Kapak Tasarımı ve Mizanpaj:

    Önder Teker

    Baskı ve Ciltleme:

    NET COPY CENTER

    Özel Baskı Çözümleri

    İnönü Cd. Beytülmalcı Sk. No:23/A

    Gümüşsuyu, Taksim 34427 İstanbul TR.

    GODORO YAYINCILIK

    Selahaddin Pınar Cad. Naci Kasım Sok.

    Tekin Apt. No:10 D:4 Mecidiyeköy

    Şişli / İstanbul

    Telefon/Fax : (212) 213-0275

    http://www.godoro.com

    Doğrudan

    C#.NET

    Fundamentals

    Desktop

    Database

    Web

    Zafer Teker

    Godoro Yayıncılık

    İçindekiler

    Giriş 6

    Kitap İle İlgili 6

    Yazılım Geliştirme Uzmanları Neler Yapar? 6

    .NET Platformuna Giriş 7

    Hedefler 7

    .NET Framework Nedir ? 7

    .NET Framework'un Faydaları 9

    IIS - Internet Information Server 10

    Visual Studio .NET 11

    C# Dili 16

    Hedefler 16

    İlk Örnek : Hello World 16

    Basit Tipler ve Değişken Kavramı 17

    Sabit - Const 22

    Cast İşlemi 23

    Akış Kontrolleri 24

    If-Else 24

    Switch 27

    ?: Operatörü 28

    ?? Operatörü 29

    For Döngüsü 30

    While, Do-While 32

    Diziler 34

    Foreach Kullanımı 36

    Çok Boyutlu Diziler 37

    Neler Öğrendiniz 39

    Nesne Tabanlı

    Programlama 40

    Hedefler 40

    Sınıf ve Nesne Kavramı 40

    Field 41

    Property 41

    Method 42

    Constructor 43

    Nesneler Üzerine 44

    Namespace Kavramı 45

    Neler Öğrendiniz 46

    String ve Collections 47

    Hedefler 47

    String 47

    Collection 50

    ArrayList 51

    Hashtable 53

    Exception 55

    Neler Öğrendiniz 57

    Nesneye Yönelik Programlama 58

    Hedefler 58

    Sınıf ve Nesne 58

    Destructor (Yıkıcı) 63

    Inheritance (Kalıtım) 64

    Polymorphism 67

    Namespace 69

    Encapsulation 70

    Abstract Sınıf 71

    Interface 74

    Inner Sınıf 80

    Delegate ve Event 81

    Delegate 81

    Olay (Event) 83

    Reflection 86

    Attribute 92

    Koşul (Conditional) Attribute'leri 92

    DllImport Attribute 93

    Custom Attribute 93

    Neler Öğrendiniz ? 95

    Önemli Dil Özellikleri 96

    IComparable, IComparer - Sıralama 96

    IComparable 96

    IComparer 100

    Operator Overloading 101

    Indexer 104

    Enum 107

    Struct 108

    Struct ile Sınıf Farkı 111

    Generics 111

    Using 116

    Neler Öğrendiniz ? 117

    I/O, Network, Thread 118

    Hedefler 118

    I/O (Girdi-Çıktı) 118

    FileInfo ve DirectoryInfo 123

    Serileştirme 126

    Multi-Threaded Programming 130

    Network 133

    Web Request 134

    Socket 135

    Neler Öğrendiniz ? 139

    Windows Programlama 140

    Windows Form 140

    Olay (Event) 142

    Form Kontrolleri 144

    Menü 148

    Toolbar ve ImageList 151

    Group Box ve Panel 152

    Diyalog Kutuları 153

    MDI (Multiple Document Interface) Formları 155

    Özelleştirilmiş Bileşenler 157

    Inherited Form (Kalıtılmış Form) 157

    Kullanıcı Girişlerini Geçerleme 160

    Kontrol Yaratma 163

    WPF - Windows Presentation Foundation 168

    Hello World 169

    Event - Action 172

    App.xaml 174

    Neler Öğrendiniz ? 178

    ADO.NET 179

    Hedefler 179

    ADO.NET'e Giriş 179

    Connection 180

    Command 182

    Stored Procedure 186

    DataSet ve DataAdapter 188

    Neler Öğrendiniz? 195

    XML 196

    Hedefler 196

    XML Nedir? 196

    XmlDocument 197

    XmlReader ve XmlWriter 201

    XML Geçerleme 204

    XslTransform 208

    XPath 210

    Neler Öğrendiniz ? 213

    ASP.NET - .NET ile Web Programlama 214

    Hedefler 214

    Giriş 214

    Web Form'ları - ASPX 216

    Server Controls (Sunucu Denetimleri) 219

    Web Form Olayları - Event 221

    PostBack 224

    User Controls (Kullanıcı Denetimleri) 227

    Web Kontrolü 231

    Durum Yönetimi ve Veri Aktarımı 238

    Query String 238

    Cookie 238

    Application ve Session 241

    Validation (Geçerleme) 242

    Custom Validator 247

    Veri Doldurma ve Liste Kontrolleri 248

    GridView 254

    DataList ve Repeater 256

    Cache 259

    Veri Cache'leme 259

    Output Cache 261

    File Upload 263

    Global.asax 267

    Web.config 269

    Web Application Güvenliği 270

    Authentication ve Authorization 270

    Windows Authentication 272

    Forms Authentication 273

    Neler Öğrendiniz? 276

    Web Servis 278

    Hedefler 278

    Giriş 278

    Soap Servisi Yaratmak 279

    Soap Servisini Kullanmak 282

    WFC ile Web Service 285

    Neler Öğrendiniz ? 288

    LINQ 289

    Entity Framework 300

    Designer (Tasarımcı) 301

    CRUD 313

    Ekleme - Insert 313

    Seçme - Select 315

    Güncelleme- Update 318

    Silme – Delete 319

    Sorgulama 322

    Entity Yaşam Döngüsü 328

    Unchanged State 328

    Detached State 328

    Added State 329

    Modified State 329

    Deleted State 329

    DBEntityEntry 329

    ChangeTracker 331

    Transaction 333

    ASP.NET MVC 336

    ASP.NET MVC Projesi 336

    Boş MVC Projesi – Empty Project 347

    Routing 355

    ASP.NET MVC & Entity Framework Örneği 359

    Todo (Yapılacaklar Listesi) Uygulaması 359

    Giriş

    Kitap İle İlgili

    Bu kitapta C# dili, nesneye yönelik programlama, SQL Server ile veritabanı programlama, web servisleri vs. başlıklar anlatılmaktadır. Kitap boyunca yapılan örnekler ve katılımcılara verilen görevler tüm konu başlıklarını kapsayacak şekilde tasarlanmıştır.

    Yazılım Geliştirme Uzmanları Neler Yapar?

    Bu kitabı tamamlayan geliştiriciler sahip olacakları yetkinlikleri kendilerine profesyonel hayatta yeni kariyer imkanları yaratmak amacıyla kullanabilirler. .NET ortamının kullanım alanının çok geniş olmasından dolayı bu konuda uzman bir kişi bilişim ya da yazılım sektörünün her alanında çalışabilir. Her türlü yazılım şirketleri, bankalar, sigorta kurumları gibi değişik sektörlerdeki şirketlerde iş bulabilir. Özellikle Microsoft yazılımları üzerine yönelik çalışan çoğu şirket veya kurum yazılım ihtiyaçlarında .NET bilen uzmanları tercih etmektedir.

    .NET Platformuna Giriş

    Hedefler

    Bu bölümde .NET Framework platformuna ve Visual Studio geliştirme ortamına giriş yapacaksınız. Temel özellikleri ve nasıl kullanılacağı anlatılacaktır.

    .NET Framework Nedir ?

    .NET Framework, Microsoft'un yazılım geliştirme ve çalıştırma ortamıdır. Console uygulamaları, grafik arayüzü olan uygulamalar, web uygulamaları, web servisleri geliştirmenizi, derlemenizi ve çalıştırmanızı sağlar.

    .NET Framework'ünün en önemli amacı farklı türdeki uygulamaları tek bir platform ile geliştirilebilmesidir. Web, Windows, web servis gibi farklı türde uygulamalar aynı platform ile geliştirilebilmektedir. Diğer bir önemli amaç ise istenilen bir dilin kullanılabilmesidir. Projelerinizi C#, VB veya başka bir dil ile yazabilirsiniz.

    .NET birden fazla dili desteklemektedir. Bu diller Common Intermediate Language (CIL Ortak Ara Dil) denilen ara dile çevrilirler. .NET Framework bu ara dili çalıştırır.

    .NET ile yazılmış kodların derlenmesini, çalıştırılmasını Common Language Runtime (CLR - Ortak Dil Çalışma Zamanı) sağlar. CLR farklı dillerde yazılmış kodların ortak bir dile çevrilmesini ve düzgün bir şekilde çalıştırılmasını sağlar. .NET çatısı C#, VB, C++, JScript ve daha birçok dili destekler.

    .NET'de web ve web servis projelerini IIS (Internet Information Server - Genelağ Bilgi Sunucusu) üzerinde doğrudan çalıştırabilirsiniz. IIS, Microsoft'un varsayılan web sunucusudur.

    .NET'in diğer önemli bileşeni Class Library (Sınıf Kütüphanesi) adı verilen kütüphanedir. Birden çok dil aynı sınıf kütüphanesini kullanılırlar. Sınıf kütüphanesi Windows arayüzü, web arayüzü , web servisi gibi farklı uygulamalar geliştirmeniz için sınıflar sağlar.

    graphics1

    .NET aşağıdaki türde sınıf kütüphaneleri ve framework'leri sağlamaktadır

    Windows Forms: Windows'a yönelik uygulama geliştirmek için kullanılan kütüphane.

    ASP.NET (Active Server Pages - Etkin Sunucu Yaprakları): Web'e yönelik uygulama geliştirmek için kullanılan kütüphane.

    ADO.NET (Active Data Objects - Etkin Veri Nesneleri): Veri erişimi ile ilgili sınıfların bulunduğu kütüphane.

    Windows Communication Foundation (WCF - Windows İletişim Özülü) : .NET Framework'de farklı sunucular arasında (uzaktan erişim, Web servisi, dağıtık programlama vb..) iletişim sağlamak amacıyla kullanılan kütüphane ve framework.

    Windows Presentation Foundation (WPF - Windows Sunum Özülü): .NET Framework'de GUI uygulamaları geliştirmek için geliştirilmiş yeni nesil bir framework.

    Windows Workflow Foundation (WWF - Windows İş Akışı Özülü): .NET Framework'de özellikle büyük kurumsal projelerde iş akışı ile ilgili konular için geliştirilmiş bir framework ve kütüphane.

    Windows CardSpace : :NET Framework'de 3.0 ile birlikte gelen, kimlik denetimi ile ilgili framework.

    Language Integrated Query (LINQ - Dile Tümleşik Sorgu): Net Framework'de veri erişimi ile ilgili bir framework. SQL benzeri bir dil desteği ile veriler üzerinde çalışılabilmektedir

    Entity Framework (Varlık Çatısı): Net Framework'de sınıf ile ilişkisel veritabanı arasında eşlemeyi, ORM (Object-Relation Mapping - Nesne İlişkisel Eşleme) sağlayan bir framework.

    .NET ile yazılmış bir uygulamanın bir ortamda çalışması için o ortamda .NET Framework'ün yüklü olması gerekir. .NET Framework Windows'ta normal koşullarda C:\WINDOWS\Microsoft.NET\Framework\[version…] klasörüne kurulur.

    .NET Framework ile yazılan kodlar DLL (Dynamic Linkage Library - devingen bağlanım betikliği) ve (Windows uygulamaları için) EXE (Executable - Yürütülebilir) dosyalarına derlenirler. Bu derlenmiş kod parçalarına Assembly (Toplama) denir. EXE , bir assembly dosyasıdır ve Windows programları içindir. DLL ise kütüphane içindir ve birden fazla projede kullanılabilir. .NET ortamı DLL ve EXE dosyaları için versiyon ve güvenlik desteği sağlar.

    .NET Framework'un Faydaları

    Birden fazla dil desteği: Uygulamaları istediğiniz bir dil ile geliştirebilirsiniz. Geliştirdiğiniz bileşenleri tüm diller içinde kullanabilirsiniz. Bu şekilde diller arasında uyum sağlanır.

    Daha hızlı kod yazımı : .NET Framework sınıf kütüphanesi gelişmiş bileşen ve kontrol desteği sağlar. Programcı çok fazla kod yazmak zorunda kalmaz.

    Web servis desteği : .NET Framework gelişmiş bir XML/SOAP ve REST desteği sunar. Kolayca web servisleri geliştirilebilir.

    Güvenilir uygulamalar yaratma : .NET Framework ortamı uygulamalar için bellek yönetimi, thread (iplik) yönetimi, çöp toplayıcı gibi servisler sağlar. .NET Framework uygulamayı denetler.

    IIS - Internet Information Server

    Microsoft'un Web projeleri ve Web servis projeleri için kullandığı web sunucusu IIS (Internet Information Server - Genelağ Bilgi Sunucu) adlı programdır. .NET'te IIS üzerinde yaratılan projeler ile doğrudan geliştirme yapabilirsiniz. IIS, Windows üzerinde IIS Manager (IIS Yönetici) adında grafik arayüzü olan bir program ile yönetilmektedir.

    Eğer IIS sisteminizde kurulu değilse kontrol panelden Programlar bölümünden Windows Özelliklerini Aç veya Kapa (Windows Features On or Off) ile açılan listeden Internet Information Server seçilerek kurulumu yapabilirsiniz. Kurulumdan sonra http://localhost adresine girerseniz IIS'in cevabını görebilirsiniz.

    IIS Manager'i açmak için , kontrol panelden System and Maintenance (Sistem ve Bakım) veya System and Security (Sistem ve Güvenlik) bölümünden Administrative Tools (Yönetimsel Araçlar) bölümüne gidilir ve Internet Information Services (IIS) Manager (Genelağ Bilgi Sunucu Yöneticisi) tıklanır. Daha kısa yoldan Start (Başlat) menüsünden Run (Çalıştır) veya Search (Ara) kutusuna inetmgr yazarak açılabilir.

    IIS Manager açıldığında aşağıdakine benzer bir ekran görünecektir:

    grafikler1

    Visual Studio .NET

    Visual Studio .NET Microsoft'un .NET platformu için uygulama geliştirme, derleme ve çalıştırma ortamıdır.

    Visual Studio ile Web, Windows uygulaması, web servis, enterprise servisler geliştirilebilir. Ayrıca C#, VB, JScript, C++ gibi istenilen bir dil kullanılabilir.

    .NET bir uygulama geliştirmek için Project (İzdüş) yaratmanız gerekmektedir. Bir uygulama birden fazla projeden oluşabilir. Bunun için Solution (Çözüm) yaratmanız gerekir. Bir solution'a birden fazla proje eklenebilir.

    Projeler kullanılan dillere göre sınıflandırılmışlardır. Bu nedenle yeni bir proje yaratmak istediğinizde önce dil seçmeniz gerekir.

    Aşağıda en basit bir Console (Konsol) uygulaması için Visual Studio ekranı görülmektedir:

    Ana kısım kodun gösterildiği bölümdür. Sağ üst bölümde Solution Explorer (Çözüm Gezgini) penceresi

    grafikler2

    görülmektedir. Solution penceresi solution'a ait projeleri ve proje içindeki dosyaları göstermektedir. Altında Properties (Özellikler) penceresi görülmektedir. Properties penceresi seçilen bir nesnenin özelliklerini değiştirmek için kullanılır. Daha çok Windows ve web gibi arayüzü olan projelerde değerler gözükmektedir. Orta bölümün alt bölümde ise derleme ve çalıştırma sırasında oluşan çıktıyı göstermektedir.

    Aşağıda Web Form (Örün Formu) türdeki bir web projesinin genel görünümü bulunmaktadır:

    Orta bölümde Default.aspx (Varsayılan ASPX) dosyası Design (Tasarım) görünümündedir. Eğer Source (Kaynak) bölümünde geçilirse Default.aspx'in HTML ve ASP.NET kontrollerin olduğu kodlar görülebilir.

    grafikler3

    Sol bölümde web form'ları için kullanılabilecek bileşenlerin olduğu Toolbox (Araç Kutusu) görülmektedir. Sağ alt bölgede de Default.aspx'de seçili olan bileşenin özellikleri gösterilmektedir.

    Yeni bir solution File (Dosya) / New (Yeni) / Blank Solution (Boş Çözüm) ile yaratılabilir. Solution yarattıktan sonra solution'a proje eklenebilir. Solution Explorer penceresinden Solution'a sağ tıklayarak Add (Ekle) / New Project (Yeni İzdüş) ile yeni proje eklenebilir. Yeni bir proje yaratılırken istenirse yeni bir solution yaratılabilir veya proje daha önce yaratılmış solution'lardan birine eklenebilir.

    .NET ile yeni proje yaratmak istediğimizde karşınıza dil ve o dille ilgili proje şablonlarını seçebileceğiniz bir ekran çıkmaktadır.

    Aşağıdaki bazı önemli proje tipleri görülmektedir

    grafikler4

    Class Library (Sınıf Betikliği): Sadece sınıfların yaratıldığı proje. Bu proje tekrar kullanılabilir kütüphane yaratmak içindir.

    Console Application (Konsol Uygulaması): Window işletim sisteminde , sadece komut satırı için çalışan program yaratmak için kullanılır.

    Windows Forms Application (Windows Formları Uygulması): Windows işletim sisteminde çalışan , grafik arayüzü bulunan program yapmak için kullanılır.

    WPF Application (WPF Uygulması): WPF (Windows Presentation Foundation - Windows Sunum Özülü) framework'üne uygun istemci programları yapmak için kullanılır.

    ASP.NET Web Application (ASP.NET Örün Uygulaması): Web'e yönelik uygulama geliştirmek için kullanılır.

    WCF Service Application (WCF Hizmet Uygulması): WCF (Windows Communication Foundation - Windows İletişim Özülü) service'leri yaratmak için kullanılır.

    C# Dili

    Hedefler

    Bu bölümde C# dilinin temelleri anlatılacaktır. Basit tipler, değişkenler, döngüler ve akış kontrolleri, diziler ve çok boyutlu diziler işlenecek konular arasındadır.

    C#, .NET ile birlikte yaratılmış bir dildir. C# dili C, C++ ve Java dillerine benzemektedir. C# dilinin çıkartılmasındaki bir amaç da C, C++ ve Java dilini bilen insanların .NET'e geçişlerini kolaylaştırmaktır.

    İlk Örnek : Hello World

    Aşağıdaki basit örnek sistem ekranına (konsola) Hello World yazmaktadır:

    using System;

    namespace BookConsole{

      public class HelloWorld{ 

        public static void Main(String[] args){

    Console.WriteLine(Hello World);

        }

      }

    }

    Bir programın Main() (Ana) yöntemi olmak zorundadır.

    public static void Main(String[] args){

    }

    Yukarıdaki örnekte geçen ifadelerin ne anlama geldiğini ileride göreceğiz.

    Basit Tipler ve Değişken Kavramı

    Bir program verilerle çalışır. Program veriler üzerinde çeşitli işlemler yapar. Bir programın gerektiğinde bu verilere ulaşması için verilerin hafızada saklanması gerekmektedir. Hafıza alanı sınırlı olmasından dolayı daha az yer kaplayabilmek için veriler sınıflandırılır. Bir programda bir veri saklamak için değişken (variable) kullanılır. Bir değişken belirli tipte veri saklar. Bir değişken yaratıldığında onun için hafızanın belirli bir bölgesi değişkenin tipine göre tahsis edilir. Bir değişkenin değeri daha sonra değiştirilebilir. Ancak tipi değiştirilemez.

    Bir değişken için önce declare (bildirim) yapılmalıdır. Declare etme hafızada ayrılacak uygun yerin belirlenmesidir. Daha sonra bu değişkene bir değer atanabilir:

    int a;

    a=5;

    Yukarıda görüldüğü gibi bir a adlı int (integer - tümsayı) tipinde bir değişken yaratılmıştır. Daha sonra değeri 5 olarak atanmıştır. Aşağıdaki örnekte bazı değişkenler yaratılmaktadır:

    using System;

    namespace BookConsole{

      public class PrimitiveTypeTest{

        public static void Main(String[] args){

    int a;

    a=3;

    int b=5;

    int x,y,z;

    int u=3,v=1;        

    byte bb=1;

    short ss=2;

    long ll=3;

    double dd=1.2;

    float ff=3.2f;

    bool boolean=true;

    boolean=false;

    char

    Enjoying the preview?
    Page 1 of 1