C# Programlama Dersleri Giriş

C# PROGRAMLAMA DERSLERİ

C# Nedir ? C# Programlama dili nasıl çalışır ? C# programlama dili nasıl ortaya çıkmıştır ? C# programlama  dilinin temelinde ne vardır ? C# programlama derslerine başlıyoruz arkadaşlar.

Bu seri C#’a özel hızlı , seri ve çözüme giden bir çalışma olması niyetiyle hazırlanıyor.

C# PROGRAMLAMA GİRİŞ

C#’ın dedesi C’dir.Söz dizimini , anahtar kelimelerin birçoğunu ve operatörlerini C’den almıştır.

C# bileşen yönelimli bir dil olarak nitelenmektedir çünkü bileşenlerini yazmak adına bütünleşik destek içermektedir.

C Dili -> C ++ Dili -> Java & C# Dili

C#’ın  .NET Framework ile özel bir ilişkisi vardır.Birinci sebebi ; C# Microsoft tarafından NET Framework için kod geliştirmek amacıyla tasarlanmıştır.İkincisi de ; kütüphaneler .NET Framework tarafından tanımlanan kütüphanelerdir.

.NET Framework Nedir ?

Çok dağıtık , bileşen yönelimli uygulamaların geliştirilmesini ve yürütülmesini destekleyen bir ortamdır ve farklılık gösteren bilgisayar dillerinin birlikte çalışmasını mümkün kılar.

Ve .NET Framework ile yazılmış programlar gelecekte Windows olmayan ortamlarda da çalışabilecektir.

C# ile ilişkili olduğu için iki önemli unsur vardır ;

Common Language Runtime (CLR – Ortak Dil Çalışma Zamanı) : Burası programın çalışmasını idare eden sistemdir.

.NET Sınıf Kütüphanesi : Programımızın çalıştırma ortamına erişimine imkan tanır.Ekranda bir giriş/çıkış bilgisi göstermek istiyorsunuz diyelim , bunun için .NET Sınıf kütüphanesini kullanırız.C# otomatik olarak .NET sınıf kütüphanesini kullandığı için C# programları .NET ortamlarının tümüne otomatik olarak taşınabilir.

Common Language Runtime Nasıl Çalışır:

Burası .NET kodunun çalıştırılmasını idare eder.Program çalıştığı zaman ara kodu çalıştırılabilir bir koda dönüştürmek CLR’in görevidir.

Kontrol altına alınan ve alınmayan kodlar ;

Bir C# programı yazdığınızda kontrol altına alınan kod adı verilen bir kod geliştirirsiniz.Bu kod CLR’in kontrolünde çalıştığı için belirli kısıtlamalara ve avantajlara sahiptir.

Kontrol altına alınamayan kod ise Common Language Runtime altında çalışmaz.

Common Language Specification :

Kodumuz farklı dillerde yazılmış programlar tarafından kullanılacaksa , kullanılabilirliği en üst seviyeye çıkarmak adına kodumuzun Common Language Specification’a sıkı sıkıya yapışması gerekir.

Burası farklı dillerde ortak olan özellikleri tarif eder.

C#’a Genel Bir Bakış :

Nesne Yönelimli Programlama: C#’ın temelinde (OOP-Object Oriented Programming ) yani nesne yönelimli programlama yer almaktadır.

Nesne yönelimli programlar ; ‘koda erişimi kontrol edene veri’ temel prensibine dayanarak veri etrafında organize edilirler.

Nesne yönelimini desteklemek adına tüm nesne yönelimli diller üç ortak özelliğe sahiptir ; İlişkili verilerin paketlenmesi (encapsulation) , çok biçimlilik (polymorphism) ve kalıtım.

İlişkili Verilerin Paketlenmesi : Kodun manipüle ettiği kodu birbirine bağlayan ve her ikisini dışarıdan gelebilecek istenmeyen etkilerden ve hatalı kullanımlardan koruyan bir programlama mekanizmasıdır.

Kod ve veri birbirine bağlanınca nesne oluşur.Diğer bi deyişlede verilen paketlenmesini (encapsulation)’ı nesne destekler.

Nesneler özel(private) ve açık (public) olabilirler.

C#’ın temel veri paketleme birimi sınıftır(class).

Sınıfı oluşturan kod ve veri ise sınıfın üyeleri(members)’dir.

Çok Biçimlilik :

Birçok form anlamıan gelir ve genel bir etkinlikler sınıfına erişmek adına bir arayüze imkan veren bir özelliktir.

‘Tek arayüz , çok sayıda metot’ deyişiyle ifade edilirler.

Kalıtım :

Bir nesnenin diğer bir nesnenin özelliklerini ele geçirebilmesini sağlayan bir yöntemdir.

Kalıtım kullanılmasaydı , her nesne kendi özelliklerinin tümünü açıkça tanımlamak zorunda kalacaktı.

Klasik başlangıç örneklerinden birisi ;

using system;

class Example {

public static void Main() {

Console.WriteLine(“Basit bir C# programı.”);

}

}

Bu programı ilk olarak komut satırından çalıştırılan derleyici ile (csc.exe) kullanabilir ya da Visual Studio Integrated Development Environment’i (IDE-Bütünleşik Geliştirme Ortamı) kullanarak çalıştırabiliriz.

C# programları .cs uzantısını kullanırlar.

/*   */ arasına yorumlar , açıklamalar yazılır.

Using system ; isim uzayını kullandığını bizlere gösteriyor.C#’ta isim uzayı (namespace) , deklaratif (tanımlamalara ayrılan) bir bölge tanımlar.

Class Example {  ; burası ise yeni bir sınıf tanımlar ve class anahtar kelimesini kullanır.

Sınıflar C#’ın temel  veri paketleme birimidir.

Yine C#’ta   ‘ // ‘ simgeside tek satırlık açıklama yapmak için kullanılır.

Örnek : //Bu bir açıklamadır.

Public static void Main() ; bu alanda Main() methodu ile başlamaktadır.C#’ta alt bölümler ise metot olarak adlandırılır.

C# uygulamalarının tümü main ile başlar.

Public anahtar kelimesi de bir erişim belirleyicisidir.Bu belirleyici programın diğer bölümlerinin bir sınıfın üyesine nasıl erişebileceklerini belirler.

Public’in tersi de private’dır ve private tanımlı olunan sınıf dışındaki kod tarafından kullanılmasını önler.

C#’ta program çıktısı standart method olan WriteLine() ile gerçekleştirilir.WriteLine kendisine aktarılan bir karakter katarını ekranda gösterir.

Console ise ; WriteLine’ın Console sınıfının bir üyesi olduğunu gösterir.

C#’ta tüm ifadeler ‘;’ ile sona erer.Teknik birtakım ifadeler ‘;’ ile sona ermez.

Ek olarak ; C#’ta büyük-küçük harf ayrımı vardır.Bu durum eğer ihmal edilirse büyük sorunlara sebep olabilir bu durum.

Yukardaki programı şu şekilde de yazabilirdik : System.Console.WriteLine(“Basit bir C# programı”) ;

Burada system ifadesini aldık buraya koyduk ama buradaki sorun her seferinde basa system yazmaktansa programın en basında kullanmak daha kolaylık sağlayacaktır.

Değişken Atama işlemi :

using System ;

class Example {

public static void Main () {

int x ;

int y;

x = 100;

Console.WriteLine(“x contains” + x) ;

y = x / 2 ;

Console.Write (“y contains x/2 : ”);

Console.WriteLine(y);

}

}

Burada  x ve y değişkenlerini  atamış yani x ve y diye 2 değişken belirlemiş olduk.

Değişken Belirleme Türü : tip değişken –ismi ;

Örnek olarak : x =100 ; derseniz programda bu x değişkenine 100 değerini atamış oluyoruz.

console.WriteLine (“x contains ” + x) ;

Burada artı işareti x’in değerinin , x’in önünde yer alan karakter katarından sonra ekranda gösterilmesine neden olur.

Yani ‘+’ işaretini kullanarak tek WriteLine () ifadesi içinde istediğiniz kadar çok sayıda öğeyi ekranda peş peşe gösterebilirsiniz.

Ek olarak C#’ta aritmetik operatörler hepsini desteklemektedir.

+ Toplama ,  – Çıkartma , * Çarpma , / Bölme

Write() metodu kullanılıyor burada ve içerisinde y contains x/2  karakterleri gösteriliyor.

Write() metodu tıpkı WriteLine() gibidir ve Write() metodu her çağrıdan sonra yeni bir satırdan başlamaz.

Not : C#’ta tanımlı herhangi bir standart tipteki değerlerin çıktısını almak için hem Write() hem de WriteLine() kullanılabilir.

Not : int x , y ; Tek bir ifade ile ikiside atanabilir.

İnt tamsayı tipi için kullanılır , peki ondalıklı bir sayı karşımızda olsaydı ?

O zaman double  tipinde bir değişken tanımlamamız gerekmektedir.

Mesela bir tanımlama yapalım ;

double result ;

Kontrol İfadeleri :

İf ;

İf (koşul) ifade ;  Buradaki mantık -> koşul bir Boolean yani true ya da false’tur.

İf (5 < 10) Console.WriteLine (“5 10’dan kücüktür”);

Operatör ve Anlamları :

< Küçüktür , <= Küçük veya eşittir , > büyüktür , >= büyük veya eşittir , == eşittir , != eşit değildir.

For Döngüsü :

For döngüsü ile kod parçalarını tekrar tekrar çalıştırabiliriz.

For (başlangıç ; koşul ; iterasyon) ifade ;

Başlangıç bölümü döngü kontrol değişkenine ilk değeri atar.Koşul , döngü kontrol değişkenini test eden bir Boolean deyimdir.Eğer bu testin sonucu doğru ise for döngüsü iterasyona devam eder.

Örnek olarak:

For (count = 0 ; count <5 ; count = count +1)

Console.WriteLine (“This is count : ”  + count) ;

Daha verimli bir artırma operatörü -> count ++; ifadesidir.

Genelde örnek bir for döngüsü :

For (count = 0 ; count < 5 ; count ++ )

‘ — ’ operatörü de eksiltme operatörüdür.

Kod Bloklarını Kullanmak :

Bir başka temel öğede kod bloğudur.

Yani bu ifade iki veya daha fazla ifadenin gruplanmasıdır.

Örnek olarak ;

İf (w < h) {

V = w * h ;

W=0 ;

}

Eğer w ifadesi h ifadesinden küçükse , bloğun içerisindeki her iki ifade de gerçekleşecektir.

Noktalı Virgül ve Konumlandırma :

C#’ta noktalı virgül , ifadenin sonunu gösterir.Yani tek başına ifadelerin her biri noktalı virgül ile sona ermelidir.

Bloklar noktalı virgül ile sona ermezler.

C# Anahtar Kelimeleri :

Abstract , as , base , bool , break , byte , case , catch ,char , checked, class , const , continue , decimal , default  , delegate , do , double , else , enum , event , explicit, extern , false , finally , fixed , float , for , foreach , goto , if , implicit , in , int , interface , internal , is , lock , long , namespace , new , null , object ,  operator , out , override , params , private , protected , public , readonly , ref , return , sbyte , sealed , short , sizeof , stackalloc , static  , string , struct, switch, this , throw , true , try , typeof , unit , ulong , unchecked , unsafe , unshort , using , virtual , volatile , void ve while.

Bu 77 anahtar kelime  C# dilinin tanımını birleşerek oluştururlar.

Tanımlayıcı :

C#’ta tanımlayıcı bir metoda , değişkene veya  kullanıcı tarafından tanımlanan herhangi bir başka öğeye atanan isimdir.

Değişken isimleri , bir harf ya da (_) alt çizgi ile başlayabilir.

Not : C#’ta myvar ile MyVar farklı isimlerdir.Ve  bir tanımlayıcı rakam ile başlamaz.

C# bir anahtar kelimenin önünde @ kullanmanıza izin vererek söz konusu olan kelimenin geçerli bir tanımlayıcı olmasını sağlar.

Örnek : @for geçerli olan bir tanımlayıcıdır.Burada tanımlayıcı aslında ‘for’dur.@ dikkate alınmaz.

İnt @if -> ifadesi if’i bir tanımlayıcı olarak kullanır.

Veri Tipleri , Literaller ve Değişkenler :

Burada üç temel öğe incelenmektedir.Veri tipleri , literaller ve değişkenler.

Veri tipi C#’ta özellikle önemlidir çünkü C# sıkı sıkıya tipe dayalı bir dildir ve ‘tipsiz’ bir değişken kavramı söz konusu değildir.

C#’ın Değer Tipleri :

C#’ın içerdiği yerleşik veri tipleri iki genel kategoride toplanır.

Değer tipleri ve referans .

C#’ta referans tipleri sınıflarla tanımlanır ve C#’ın özünde 13 değer tipi vardır.

C# Değer Tipleri :

Bool : True / False Değerlerini simgeler

Byte : 8 Bit işaretsiz tamsayıyı simgeler (0’dan 255’e) 8bit

Char : Karakter anlamındadır

Decimal : Mali hesaplamalar için nümerik tip

Double : Çift duyarlılıklı kayan noktalı sayıdır

Float : Tek duyarlılıklı kayan noktalı sayıdır

İnt : Tamsayı (-2,147,483,648’den 2,147,483,647’e) 32 bit

Long : Uzun tamsayı (-9,223,372,036,854,775,808’den +9,223,372,036,854,775,807’e)

Sbyte : 8 Bit işaretli tamsayı (-128’den 127’e) 8 bit

Short : Kısa tamsayı (-32,768’den 32,767’e) 16 bit

Uint : İşaretsiz tamsayı (0’dan 2,147,483,647’e)

Ulong : işaretsiz uzun tamsayı (0’dan 18,446,744,073,709,551,615’e)

Ushort : işaretsiz kısa tamsayı (0’dan 65,535’e) 16 bit

C# PROGRAMLAMA DERSLERİ SONUÇ :

Bugünki yazımızda C# programlama diline ait ilk yazımızı sizlerle paylaştık.C# günümüzde sıkça karşılaştığımız ve adını duyduğumuz bir dil olmaktan çıkıp üzerinde uygulama yazabilir hale gelmek ve onu etkin şekilde kullanabilmek adına umuyorum bu çalışmalarımız sonuç verecektir.

İyi Çalışmalar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.