C # www.bilisimogretmeni.com



Benzer belgeler
C# nedir,.net Framework nedir?

Bahar. BM 211 Programlama Dilleri 3 1

GÖRSEL PROGRAMLAMA - I

C# Eğitimi-1 (Giriş) Melih Hilmi Uludağ

Windows Programlama Güz Dönemi

HSancak Nesne Tabanlı Programlama I Ders Notları

BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1

4. Bölüm Programlamaya Giriş

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

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

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

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Dr. Fatih AY Tel: fatihay@fatihay.net

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Bölüm1. İlk Bilgiler ISBN

BİL 458 Web Programlama dersi. Yrd. Doç. Dr. Murat YEŞİLYURT

Programlama Dilleri III 1

Java Temel Özellikleri

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Programlama Dillerinde Kullanılan Veri Tipleri

ALGORİTMA VE PROGRAMLAMA I

HSancak Nesne Tabanlı Programlama I Ders Notları

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

«BM364» Veritabanı Uygulamaları

PROGRAMLAMA TEMELLERİ

Bilgisayarda Programlama. Temel Kavramlar

NESNEYE YÖNELİK PROGRAMLAMA

1.1. Yazılım Geliştirme Süreci

Program Nedir?(1) Programlamaya Giriş

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR ORGANİZASYONU

WEB İŞLEMLERİ. .NET Platformu:

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

public static int Toplam int x, int y

Bölüm 1. Ön Hazırlıklar ISBN

C # İLE GÖRSEL PROGRAMLAMA. C # Nedir? C# Programlama Dili Microsoft un geliştirdiği.net platformuna ait bir elemandır.

Öğr. Gör. Serkan AKSU 1

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

PROGRAMLAMA DERSİ 1. İNTERNET

Asp.Net Veritabanı İşlemleri

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

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Sunum İçeriği. Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

C++ Dersi: Nesne Tabanlı Programlama

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Yrd. Doç. Dr. Caner ÖZCAN

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

EĞİTİM : .NET UYGULAMA GELİŞTİRME PLATFORMU. Bölüm :.NET Uygulama Geliştirme Platformu. Konu :.NET Framework Nedir? Page 1 of 17

Veritabanı İşlemleri

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Programlama Temelleri

Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi. eklenmesi. KalacakYer.com

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

YZM 2105 Nesneye Yönelik Programlama

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

YZM 2105 Nesneye Yönelik Programlama

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

ALGORİTMA VE PROGRAMLAMA I

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Üst Düzey Programlama

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

5. PROGRAMLA DİLLERİ. 5.1 Giriş

Programlama Yazılımı ile Web Sitesi Oluşturma

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.

Yrd. Doç. Dr. Caner ÖZCAN

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Lecture 11: Generics

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ELN1001 BİLGİSAYAR PROGRAMLAMA I

7.1- C#.net Giriş Çıkış İşlemleri ve Visual Studio. M.İLKUÇAR - 1

1 PROGRAMLAMAYA GİRİŞ

Üst Düzey Programlama

ALGORİTMA VE PROGRAMLAMA I

C PROGRAMLAMA DİLİ. Hedefler


10.DERS Yazılım Gerçekleştirme

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

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

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Transkript:

C # 1

Neler Öğreneceğiz Nesneye yönelik programla nedir? (Metot nedir?, sınıf nedir?, nesne nedir?, nesneler nasıl tü retilir?...) Nesneye yönelik programlamanın üstünlükleri?.net teknolojisi nedir? Neleri bizlere sağlar ve arı nelerdir? nelerdir avantajl 2

Kaynaklar C# ı Kavramak - Tom Archer, Arkadaş, 2002 Her yönüyle C# -Sefer Algan, Pusula, 2004 C# Temel Başlangıç Kılavuzu BradleyJones, Sistem, 2003 www.bilgeadam.com 3

4

C# Nedir? Bilgisayar dillerini düzeylerine göre şu şekilde sınıflandırabiliriz: Script Dilleri Javascript,VBScript, Perl Script Yüksek Düzeyli Diller Vbasic, Delphi Orta Düzeyli Diller C# ve Java Düşük Düzeyli Diller C/C++ Assebmly(makine dili) Assembly 5

C# Nedir? C# Programlama Dili Microsoft un son zamanlarda geliştirdiği.net platformunun bir öğesidir. Eski programlama dilleri ile yeni dillerin harmanlanması ile oluşmuştur. Ayrıca C, C++, Java, Visual Basic dillerinin bir türevi niteliğindedir. 6

C# Nedir? C#, C/C++ ve Java dillerinden türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip güvenli (type safe) Net platformu için sıfırdan geliştirilmiş %100 nesne yönelimli bir dildir. (type-safe, tür dönüşümlerindeki önlemler, örn: byte=byte+byte olamaz, int=byte+byte). 7

C# Nedir? C#, eskiden beri programcıların yaygın bir biçimde kullandığı C/C++ve Java dillerine benzerliği ile tanınan bir programlama dilidir. İlk aşamada çok benzer bir dil olarak görünse de bu iki dilden farklı bir çok özelliğe sahiptir. C/C++ve Java nın güzel özelliklerini alıp bu dillerin tehlikeli olabilecek olabilecek özelliklerini dışarıda bırakan bir dildir. 8

C# nedir? C#, C/C++ dilinden farklı olarak tamamıyla nesneye yöneliktir. int, double gibi temel veri türleri dahi birer nesne olarak tanımlanmıştır. Java dilinden farklı olarak C# dilinde işaretçiler (pointer) kullanılabilmektedir. 9

Neden C# ı Tercih Edelim? Öğrenilmesi kolaydır. Nesne yönelimli programlamaya tam destek vermektedir. Yüksek verim. Güç ve kolaylık arasında dengededir. Xml desteği sunmaktadır. Windows Forms mantığını destekler. Internet teknolojilerinin gelişimine uyum sağlayabilmiş modern bir dildir. 10

C# Kullanım Alanları Konsol tabanlı uygulama geliştirme Windows için program yazma C# ile Windows için gelişmiş, güçlü, hızlı ve güvenli programlar yazılabilir. Fakat bunun için programın çalıştığı sistemde.net platformunun yüklü olması gerekir. ASP.NET için en uygun dildir. ASP.NET, ASP gibi script yorumlamalı olmayıp tamamen nesne yönelimli haldedir. C# bu konuda büyük kolaylıklar sağlamaktadır. C# ile Web Servisleri geliştirmek oldukça kolay ve hızlıdır Mobil uygulama geliştirme ve DLL yazabilme. 11

.NET Bileşenleri C# ASP.NET (Web formları+web Servisleri) C++ VB.NET F# TEMEL DİL TANIMLARI (CLS) (Common Language Specification) ADO.NET ve XML Temel Sınıf Kütüphanesi Windows Formları Visual Studio NET 2010 Ortak Dil Çalışma Platformu (CLR) (Common Language Runtime) İŞLETİM SİSTEMİ 12

.NET Bileşenleri Önceden, geliştirilen yazılımlar direkt olarak makine koduna derlenir ve bu şekilde çalıştırılırlardı. Ayrıca bu programlar, her işletim sistemine özel olarak geliştirilmekte ve derlemi işlemi işletim sistemine göre belirlenmekteydi. Böyle bir yapıda taşınabilirlikten söz etmek mümkün değildir. Java da ise, program önce byte code a çevrilmektedir. Bu kodu JVM(Java Virtual Machine), işletim sisteminin istediği koda çevirmektedir..net platformunda da temel prensip Java ile benzerdir. 13

.NET Bileşenleri. NET kodu önce IL (Intermediate Language-Ara dil) ye derler ve bu IL kodu çalıştırılmak istendiği zaman.net CLR (Common Language Runtime Ortak Çalışma Platformu), JIT (Just In Time) derleyicilerini kullanarak makine diline çevirir. CLR makine diline çevrilmiş bu kodu önbellekte tutar, bu performans artışına sebep olurken diğer taraftan sistem hafızasında küçümsenmeyecek yer işgal eder. 14

.NET Bileşenleri Temel Dil Tanımlamaları CLS (Common Language Specifications) ve Ortak Tip Sistemi CTS (Common Type System) ile.net uyumlu dillerin hepsi aynı değişkenleri ve benzer nesne yönelimli özellikleri taşır. Örn: C# ile yazılan programdaki temel veri tipleri, VB.NET tekiler ile aynı özelliklere sahiptir. Böylece farklı dillerde yazılan bileşenler birbiri ile sorunsuz çalışırlar. 15

Ortak Dil Çalışma Platformu(CLR) CLR,.NET altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile programımız arasında yer alan arabirimdir. (Normalde yazılan kodlar makine diline çevrilir ve işletim sistemi ile direkt bağlantı kurup çalışırdı. ) IL kodu, CLR tarafından çağrılınca JIT derleyicileri tarafından makine diline çevrilir ve çalıştırılır. 16

Ortak Dil Çalışma Platformu(CLR) Eğer çok sayıda platform olduğunu düşünürsek, programların bunlar için ayrı ayrı yazılıp derlenmesi gerekir. Bu durum imkansız gibidir. Eğer platformdan bağımsız bir ortam istiyorsak, ihtiyaç duyulan şey CLR dir, hangi platformda iseniz (Linux,Mac,Windows) CLR bu noktada devreye girer ve.net programlarının farklı platformlarda işletim sistemine göre çalıştırır. 17

Ortak Dil Çalışma Platformu(CLR) Managed Code(Yönetilen Kod): Yalnızca CLR yardımları altında çalışan koddur. Bir örnek vermek gerekirse ; Windows ta çalışan farklı işlemlere sahibiz. Uygulamaların izlemesi gereken kural Windows genel kurallarına uymalarıdır. Managed kodda CLR tarafından Windows un yaptığı şekilde çalıştırılan koddur. 18

Ortak Dil Çalışma Platformu(CLR) C# kodu MSIL veya IL Assembly CLR Çalıştırılabilir Makine Kodu.NET derleme ve çalıştırma 19

Aradil (IL veya MSIL) (Intermediate Language) Herhangi bir C++ veya Vbasic kodu direkt makine koduna çevrilirdi ve çalıştırılırdı. Makine diline çevrilen programlar, işlemciye ve işletim sistemine özel olarak derlenirdi. Örn: a ve b sayılarının toplamı için kullanılan bir C++ programı Intel işlemciler için farklı, SunSparc işlemciler için farklı derlenirdi. Fakat.NET ortamında kodumuzu derlediğimizde elde ettiğimiz IL (ara dil) kodu işlemciye bağlı olmaz. 20

Aradil (IL veya MSIL) IL içerisinde değişken tanımları, değişkenlerin nasıl saklanacağı, metotların nasıl çalıştırılacağı, aritmetik ve mantıksal işlemler, bellek kullanımı gibi birçok işin nasıl yapılacağı açıklanır. Bütün bunların yanında IL de Metadata olarak adlandırılan bir birim daha vardır. Metadata, programda kullanılan verilerin tiplerinin yanında oluşturulan sınıfların metotlarını ve bunların özelliklerini ve diğer bilgileri içerir. Artık IL ile oluşturduğumuz kodumuzun çalıştırılabilir bir program olması için derlememiz gerekiyor. Bunun için JIT (Just in Time) derleyici kullanılır. 21

JIT Derleyiciler (Just in Time) Metadata nın içeriği çalışma zamanında JIT derleyicileri tarafından kullanılır IL ve Metadata sı oluşturulan kod parçası, çalıştırılabilir bir yapıdadır. 22

JIT Derleyiciler (Just in Time) C# ile IL ye derlediğimiz programı çalıştırırken JIT derleyicileri devreye girerler. Bu derleyiciler programın çalıştırıldığı sistemin ve işlemcinin anlayabileceği makine kodunu oluştururlar. Windows ortamı için 3 çeşit JIT mevcuttur 1. Normal JIT 2. Pre-JIT 3. Eco-JIT 23

JIT Derleyiciler (Just in Time) Normal JIT : IL kodu makine koduna çevrilirken default(varsayılan) olarak kullanılan derleyicidir. IL kodunu orijinal makine koduna çevirir ve önbellekte tutar. Örneğin ; program içindeki bir derlenmiş bir metot program akışı içinde tekrar çağrılırsa önbellekten çekilir. Pre-JIT: Tüm program kodunu makine koduna çevirip sonra çalıştıran JIT. Fazla hafıza gerektirir. Programın daha hızlı çalışmasını sağlar. 24

JIT Derleyiciler (Just in Time) Eco JIT : Kısıtlı hafıza ve önbellekli sistemlerde.net programlarının daha iyi çalışmalarını sağlamak için kullanılan derleyicidir. Derlenen ve çalıştırılan program parçaları normal JIT de hemen hafızadan silinmiyordu. Fakat Eco JIT de kullanılabilir hafıza belli bir oranın altına düştüğünde, daha önceden derlenmiş ve çalıştırılmış kısımlar hafızadan silinirler. 25

CTS Bütün veri tiplerinin tanımlı olduğu bir sistem olarak düşünebiliriz. C# dilindeki veri türleri aslında CTS deki veri türlerine karşılık gelen ara yüzlerdir. CTS sayesinde.net platformu için geliştirilen bütün diller aynı veri tiplerini kullanırlar, tek değişen türlerin tanımlama yöntemi ve söz dizimidir. Geliştirilen bir nesnenin diğer dillerde de sorunsuz çalışmasını garanti eder. 26

CTS Örn: Int tipi C++.NET ve VB.NET teki tamsayı tiplerinin kapasiteleri aynıdır. Diğer bir deyişle VB de geliştirilen bir dll C# da rahatlıkla kullanılabilir. 27

CTS CTS sayesinde;.net de tip güvenli, yüksek performanslı ve kullanılan programlama dilinin diğer.net uyumlu diller ile entegre bir şekilde çalışması sağlanır. Birçok programlama dilinin.net mimarisinde tam nesne yönelimli olarak.net için program yazma aracı olmasına imkan verir. Herhangi bir.net uyumlu dilde geliştirilen nesne diğer dillerde de sorunsuz olarak çalıştırılabilir. 28

CTS Veri Tipleri Değer Tipleri Referans Tipleri Temel Veri Tipleri Kullanıcı V.tipleri Öznitelikli V.Tipleri Göstericiler(Pointers) Arayüzler CTS veri tipleri şeması 29

CLS CLS, dil derleyicisinin uyması gereken kuralları içerir..net platformunu paylaşan dillerin sadece CTS yi desteklemeleri yetmemektedir. Bunun yanında Ortak Dil Spesifikasyonu da (CLS) desteklemeleri gerekmektedir. CLS ye uyan bir dille yazılmış kod ile diller arası iletişim sağlanmış olur. CLS uyumlu bir dil ile geliştirilen bir program ile farklı diller arasında etkileşim sağlanabilir..net in temel sınıf kütüphanelerinin içerisinde yer alan kodların büyük bir bölümü CLS uyumludur. 30

CLS Desteklenen Programala Dilleri APL Fortran Pascal C++ Haskell Perl C# Java Language Python COBOL Microsoft JScript RPG Component Pascal Mercury Scheme Curriculum Mondrian SmallTalk Eiffel Oberon Standard ML Forth Oz Microsoft Visual Basic 31

Assembly.NET platformu için yazılan bütün kodların sonucunda oluşan.exe ve.dll uzantılı dosyalara genel olarak assembly denilmektedir. Derlenmiş kodlar ve metadata olarak adlandırlan özniteleyici kodlar Assembly içerisinde bulunurlar. Assembly içersindeki metadata verileri, tür bilgileri ve başka kaynaklara olan bağlantıları saklar. Assembly de ayrıca versiyon bilgisi de tutulur. Assembly sayesinde programlar register edilmeye gerek kalmadan direkt kopyalanarak kurulabilirler. 32

Application Domain Application domain sayesinde aynı anda çalışan birden fazla program veya process birbirinden izole edildiği halde sistemde herhangi bir aksaklığa yol açmadan aralarında veri alış verişi yapabilirler 33

Namespaces and.net Class Library (İsim Alanları ve.net Sınıf Kütüphanesi).NET Framework ün programcılara sunduğu bir takım temel türler ve sınıflar mevcuttur. Bütün bu sınıfları ve türleri iyi organize edebilmek için.net, isim alanı (namespace) kavramını kullanmaktadır..net teki sınıf kütüphaneleri bir dilden bağımsız bir yapıdadır. 34

Namespaces and.net Class Library (İsim Alanları ve.net Sınıf Kütüphanesi) C# dilinde.net Framework sınıf kütüphanesi içerisindeki veri türleri ve sınıflar using anahtar sözcüğü ile kullanılır. Diğer dillerde de bu isim alanları farklı şekillerde derleyiciye bildirilir. Program geliştirirken sınıfların birbiri ile ilgili olanlarını aynı isim alanı içine konulması programdaki hataları bulma ve anlaşılabilirlik açısından oldukça önemlidir. 35

Namespaces and.net Class Library (İsim Alanları ve.net Sınıf Kütüphanesi).NET sınıf kütüphanesinde bulunan ve en sık kullanılan sınıf kütüphaneleri şunlardır: System:.NET ile çalışırken gerekli temel sınıfları içerir. Ayrıca diğer tüm sınıf kütüphaneleri bu isim alanı içinde kümelenmiştir. Konsol temelli uygulamalarda temel giriş çıkış işlemleri için gerekli temel sınıf Console, bir çok matematiksel fonksiyonu içinde barındıran Math sınıfı da System isim alanı içersinde yer alır. System hiyerarşinin tepesinde bulunur. 36

Namespaces and.net Class Library (İsim Alanları ve.net Sınıf Kütüphanesi) System.Data: Veritabanı işlemlerinin tamamı için hazır gelen sınıf kütüphanesine bu isim alanı ile erişilir. Bu sınıf kütüphanesi içindeki SQL ile işlemler için System.Data.SqlClient isim alanı mevcuttur. System.Xml: Veri biçimlendirme ve internetten veri paylaşımı için en çok kullanılan teknolojilerden biri olan XML ile çalışmak için gerekli sınırları içerir. 37

Namespaces and.net Class Library (İsim Alanları ve.net Sınıf Kütüphanesi) System.Net: Dağıtık uygulama geliştirmek için gerekli olan ağ bileşenlerini içeren isim alanıdır. HTTP ve ağ protokolleri için kullanılır. System.IO: Dosyalarla çalışmak (okuma/yazma) için gerekli işlemlerini içerir. System.Windows.Forms: Windows temelli uygulamalarda kullanılan görsel kontrolleri barındıran isim alanıdır 38

Nesne Yönelimli Programlama (C#) Nesne ÜTÜ AĞIRLIK Nesne ÜTÜ RENK Nesne ÜTÜ FOKNSİYON ÜTÜ SINIFI 39

Bir C# programını Derlemek ve Çalıştırmak C# programını bir metin editörü kullanarak oluşturmalısınız. 1) ornek.cs (uzantısı cs) olacak şekilde kaydediniz. 40

Bir C# programını Derlemek ve Çalıştırmak 2) Başlat/Programlar/Microsoft Visual Studio.NET 200x/ Visual Studio.NET tools/ Visual Studio.NET Command Prompt seçeneğine tıklayarak komut satırını açınız. 3) C:\>csc ornek.cs komut satırını kullanarak programınızı derleyeliniz. 4) Son olarak sadece programın adını yazarak çalıştırınız. C:\> ornek Bu benim ilk C# programım 41

Bir C# programını Derlemek ve Çalıştırmak 42

Bir C# programını Derlemek ve Çalıştırmak 43

Bir C# programını Derlemek ve Çalıştırmak 44

Visual C# 200x yeni proje başlatma 45

Önemli class ilk_program1 { static void Main() { System.Console.WriteLine("Merhaba C#"); } } C# dili daha önce de denildiği gibi %100 nesne yönelimli bir dildir. Nesne olmayan hiçbir şey yoktur. C ve C++ dillerinde programın çalışması main işlevinden başlar ancak main işlevi hiçbir zaman bir sınıf içerisinde olmamıştır. C# dilinde her şey sınıflarla temsil edildiği için main işlevi de bizim belirlediğimiz bir sınıfın işlevi olmak zorundadır. 46

Önemli Bütün C# programları en az bir sınıf içermelidir. Sınıf bildirimi içinde olmayan programlar derlenmez. Main() işlevi bizim için C ve C++ dillerinde olduğu gibi programımızın başlangıç noktasıdır C# de diğer bazı dillerde olduğu gibi kaynak koddaki bütün satırlar ; ile sonlandırılır. ( Bazı durumlar hariç.) 47

Önemli Sınıflar ve işlevler açılan ve kapanan küme parantezler { } içerisine yazılırlar. C# dilinde birçok kavram sınıf dediğimiz nesneler üzerine kurulmuştur. Her sınıfın iş yapan çeşitli elemanları vardır. İş yapan bu elemanlara metot ya da işlev denilmektedir. 48

Önemli.NET i meydana getiren sınıf kütüphanesi hiyerarşik bir yapı sunmaktadır. Sınıflar isim alanı (namespace) dediğimiz kavramla erişilmesi kolay bir hale gelmiştir. 49

Önemli using System deyimi ile System isim alanındaki bütün sınıflara doğrudan erişim hakkına sahip oluruz. 50

Önemli ReadLine metodu da WriteLine gibi kullanılır ancak metodun parantezlerine herhangi bir şey yazılmaz. 51

Derleyici Parametreleri *csc programadi.cs Programadi.exe şeklinde bir dosya oluşturur. *csc /out: yeniprogramadi.exe programadi.cs yeniprogramadi.exe şeklinde bir dosya oluşturur. *csc /t:library programadi.cs Programadi.dll şeklinde bir dosya oluşturur. *csc /t:module programadi.cs Programadi.netmodule isimli derlenmiş.net modülü elde edilir. *csc /t:winexe programadi.cs Program konu bir Windows uygulaması ise kullanılır. 52

Derleyici Parametreleri *csc /o:+ programadi.cs Derleyicinin optimize edilmiş sonucu çıkarması için kullanılır. *csc /unsafe programadi.cs Pointer kullanılan programları derlemek için kullanılır. *csc /bugreport:rapordosyası.txt programadi.cs Derlenen programda eğer hata varsa RaporDosyası.txt dosyasına kaydeder *csc /help veya /? C# derleyicisinin parametrelerini verir. 53

54