Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
C# ve Dahası
#1
[Resim: 5NklgL.png]
C# Genel Bakış

C# Microsoft tarafından geliştirilen yeni nesil orta seviyeli bir dildir. Programlama dilleri insan algısına göre sınıflandırılmıştır. İnsanın kolay kavrayıp kullanabildiği diller yüksek seviyeli diller olup düşük seviyeli diller ise insandan ziyade makine diline yakın dillerdir. Bu bakımdan c# hem insan diline hemde makine diline yakındır. C++ dillerini bir adım öteye taşımayı hedeflemektedir. %100 Nesne yönelimli olarak tasarlanabilen kodlara müsade etmektedir. Yani %100 nesne yönelimli desteklemektedir. Ayrıca java dilinden bir çok noktada etkilenmiştir. Dotnet platformunun en gözde dilidir. C# dotnet framework'ün çalışabildiği bilgisayarda her ortamda çalışabilmektedir. Dotnet framework'ün kurulu olması c# kodunun derlenip çalıştırılabilmesi için yeterli olmaktadır. C# ile web uygulamaları, akıllı telefon uygulamaları, gömülü sistemler ve bulut sistemleri gibi bir çok platform için geliştirme yapabiliriz.

Değişkenler ve veri tipleri


Değişkenler içerisinde veri tutan yapılardır. Program içerisinde kullandığımız bir takım değerler kullanıcıdan gelen veriler bunlarda değer olarak isimlendirilebilir. Değişkenlerde saklanır. Her değişkenin bir ismi vardır. Bu isim vasıtasıyla değişkenlere atama yapılır yada değişkenin değeri okunabilir. Değişkenler veri tipleri dediğimiz yani içerisinde bulunan verinin tipine göre farklı sınıflara ayrılmaktadır. Örneğin; bool dediğimiz veri tipinde true ve false ifadeler tutulabilir. Doğru veya yanlış şeklindeki yapılar boolean olarak nitelendirilir. Onun dışında sayısal değer tutabileceğimiz byte, sbyte, short, ushort, int, uint, long, ulong, decimal, double, float gibi türlerimiz bulunmakta. Decimal ve Float noktalı sayıları tutma özelliğine sahiptir. Diğer veri tipleri ise tam sayı değerleri tutabilmekte. Onun dışında karakter dizilerini tutabildiğimiz string isminde özel bir sınıf ile karakter dizilerini tutabiliyoruz. Bunun dışında char dediğimiz değişken tipi sadece tek bir karakter tutabilen, taşıyabilen değişken tipidir. Sizlerde aşağıda görmüş olduğunuz tablodaki değişkenlerin hepsini deneyerek ne gibi değerler atayabiliyorsunuz hangi değerlerle hata vermiyor veya hangilerinde veriyor? Örneğin; Range değerini aşarsa ne olur gibi sorulara cevaplar bulabilirsiniz.

[Resim: jq2Or9.jpg]

Değer ve Referans Tipleri

Veri tipleri "değer" ve "referans" olmak üzere iki bölümde incelenir. Değer tipleri belleğin "stack" adı verilen bölümünde referans tipleri ise "Heap" adındaki bölümde tutulur. Stack üzerinde tutulan türlere ayırılacak olan alan önceden bellidir. Program çalışmaya başlarken bu alan hesaplanır ve sonuç olarak bellekte gerekli alan ayrılır. Fakat referans tiplerde bir ayrım söz konusu değildir(Program çalışırken-çalışmaya başlarken.) Çalışma zamanında dotnet framework bu tipleri kendisi yönetir. Referans tipleri her zaman bir değeri göstermeye bilir. Böyle durumlarda eğer değeri olmayan bir referans tipine erişmeye çalışırsak "Null Referans Exception" hatası fırlatılacaktır.

.Net Bileşenleri ve Çalışma Mantığı

C# ile yazdığımız programlar direk olarak makine koduna çevrilmez. Bunun yerine "Intermediate Language" adı verilen microsoft tarafından oluşturulmuş bir ara dile dönüştürülür. Bu dönüşümden sonra biz bu programı(çıktıyı) çalıştırmak istediğimizde "CLR" dediğimiz "Common Language Runtime" - (Ortak Dil Çalışma Zamanı) dediğimiz yapı dotnet bileşeni devreye girerek. "Just in Time" adı verilen derleyiciler ile bu ara dilde oluşan kodu makine koduna çevirirler ve ondan sonra çalıştırırlar. O nedenle yazdığımız programı başka bilgisayarda çalıştırmak istersek bu bilgisayarda kesinlikle dotnet framework'ün kurulu olması gerekmektedir. Programımız ilk defa çalışmaya başladığında bu derleme işleminden dolayı biraz diğer çalıştırmalara göre daha yavaş çalışacaktır bunun nedeni budur. Bu sadece c# a özgü bir durum değil dotnet framework'ün desteklediği bütün dillere özgü bir durumdur. Yani öncelikle ara dile sonrasında çalıştırılacak olan bu ara dildeki kod "CLR" aracılığıyla derlenerek makine koduna çevrilir ve ondan sonra çalışmaya başlatılır.

Değer ve Referans Tipleri

Veri tipleri "değer" ve "referans" olmak üzere iki bölümde incelenir. Değer tipleri belleğin "stack" adı verilen bölümünde referans tipleri ise "Heap" adındaki bölümde tutulur. Stack üzerinde tutulan türlere ayırılacak olan alan önceden bellidir. Program çalışmaya başlarken bu alan hesaplanır ve sonuç olarak bellekte gerekli alan ayrılır. Fakat referans tiplerde bir ayrım söz konusu değildir(Program çalışırken-çalışmaya başlarken.) Çalışma zamanında dotnet framework bu tipleri kendisi yönetir. Referans tipleri her zaman bir değeri göstermeye bilir. Böyle durumlarda eğer değeri olmayan bir referans tipine erişmeye çalışırsak "Null Referans Exception" hatası fırlatılacaktır.
Taş kırılır, tunç erir ama Türklük ebedidir.

[Resim: 13e52cb9d80.png]
#2
Paylaşmış olduğunuz eğitici içerik için teşekkür ederim Smile
[Resim: ub6GUp.png]
  


Hızlı Menü:


Konuyu Okuyanlar:
1 Ziyaretçi