SüperTeklif'e üye ol, sen de kazan!
   
  Sitemize Hoşgeldiniz
  C# Nedir?
 

C# Nedir?

Temmuz 2002 de fikri ortaya çıkan C#nedir?com şu an çok yeni bir çalışma grubuyla Türk yazılım sektörüne hizmet etmeyi hedeflemektedir. Bir fikri gerçekleştirmek için yola çıkan ben Sefer Algan ve arkadaşım, sitenin yapımında büyük emeği olan Ahmet Faruk Nacaroğlu ile birlikte şu anda hedefimizin ilk aşaması olan sitenin açılma safhasını geçmiş bulunmaktayız. Hedeflerimiz arasında Türkiye'nin en büyük C,C++,C# ve Java dillerinin tartışıldığı, geniş bir Türkçe kaynak kod ve makale arşivini oluşturmaktır. Bu hedef siteyi açmaktan daha zor, çunku hiç bir zaman bu hedefleri tek başıza yapabileceğimizi düşünmedik. Bizimle beraber bu yolda ilerlemek isteyen öğrenci arkadaşlar, akademisyenler, iş dünyasının bel kemiği olan yazılımcılarla bu hedefi gerçekleştirebileceğimizi düşünüyoruz. Bu yüzden sizden bildiklerinizi tüm insanlarla paylaşmanızı istiyoruz. Eğer bildiklerinizi paylaşmıyorsanız, sizin bu siteden faydalanma hakkınız yok demektir. Bu siteyi biz açtık, devamını getirecek olanlar ise sizlersiniz. Unutmayın bilgi ancak, paylaşıldıkca anlam kazanır, paylaşılmayan bilgi, bilgi değildir. 

Türlerin Tanımlanması

C#’ta bir değişkeni kullanmadan önce onun türünü tanımlamak zorundayız. Bir değişken program içerisinde yalnızca bir kere tanımlanabilir.

Bir sayı C#’ta üç farklı türde olabilir.

Canlıların sayısını yazıyorsak tamsayıları kullanmak isteyebiliriz.

Eğer yazdığımız programda para miktarı bulunuyorsa bunun için desimal sayılar gerekecektir. Mesela 2 YTL 50 YKr gibi.

Eğer bilimsel rakamlar içeren bir program yazıyorsak bilimsel notasyonu kullanmalıyız. Programlamada bu tür sayılara kayar noktalı sayılar denir.

Bir programın içinde her üç türden de sayılar bulunabilir. Şimdilik sadece tamsayı türünden örnekler yapalım. Daha sonra her bir türü ayrı bir ünite olarak işleyeceğiz. Şimdi bir tamsayı tanımlayalım.

1 int Elma;

Aşağıdaki örnekte değişkenler tanımlanacak ve değer ataması yapılacaktır.

1 int Elma;
2 int Armut;
3 int Toplam;
4  
5 Elma = 2;
6 Armut = 3;
7 Toplam = Elma + Armut;

Aşağıdaki örnekte olduğu gibi bir satırda birden çok tür tanımlaması yapılabilir.

1 int Elma, Armut, Toplam;
2  
3 Elma = 2;
4 Armut = 3;
5 Toplam = Elma + Armut;

Bazı değişkenleri birlikte bazılarını da ayrı tanımlayabiliriz.

1 int Elma, Armut;
2 int Toplam;
3  
4 Elma = 2;
5 Armut = 3;
6 Toplam = Elma + Armut;

Tür tanımlamasını hep bir arada yapmak zorunda değiliz. Tek önemli kural değişkenelrin kullanılmadan önce tanımlanması gerektiğidir.

1 int Elma;
2 Elma = 2;
3  
4 int Armut;
5 Armut = 3;
6  
7 int Toplam;
7 Toplam = Elma + Armut;

Bir değişkenin tür tanımlaması ve değer atama işlemi aynı ifade içinde yapılabilir.

1 int Elma = 2;
2  
3 int Armut = 3;
4  
5 int Toplam = Elma + Armut;

Bir satırda birden çok değişkenin tanımlanması ve değer atanması aynı anda yapılabilir.

1 int Elma = 2, Armut = 3, Toplam = Elma + Armut;

Ama bir satırda tanımlanan bütün değişkenlere değer ataması yapma zorunluluğu yoktur. Bazılarına değer ataması yapmayabiliriz.

1 int Elma, Armut = 3, Toplam;
2 Elma = 2;
3 Toplam = Elma + Armut;

Bir tek satırda çok fazla değişken tanımlanması programın okunurluğunu ve hata ayıklamayı zorlaştırabilir. Kısa ve anlaşılır olmak iyi kodlanmış bir programda olması gereken özelliklerdendir. Aşağıdaki örnekte değişkenlerin tanımlanması ve değer atama işlemleri oldukça güzel yapılmıştır.

1 int Elma = 2;
2  
3 int Armut = 3;
4  
5 int Toplam = Elma + Armut;

C# ile ilk Program

static void Main()
2 {
3 int Elma, Armut, Toplam;
4  
5 Elma = 2;
6 Armut = 3;
7 Toplam = Elma + Armut;
8 }


Ekranda Yazı Yazdırmak

19 Şubat 2007

Program yazmanın iki boyutundan bahsedebiliriz, bunlar ise programcı açısından program ve kullanıcı açısından programdır. Program geliştiriciler olarak başlangıçta her iki kişi de biziz. Rolümüz programcıdan kullanıcıya değişince ya da kullanıcıdan programcıya değişince, bakış açımız da değişecektir. Mesela, programımızın verdiği çıktı, kullanıcı açısından girdidir. Kullanıcının programa girdiği veriler program açısından girdi, kullanıcı açısından çıktıdır.

Burada bahsedilen girdi ve çıktı kavramları üzerinde durmak istiyorum. Programın dış dünyaya verdiği bilgiler, gösterdiği tepkiler çıktı olarak tanımlanırken, dış dünyadan aldığı bilgiler ise girdi olarak tanımlanır. Bir bilgisayar programı da aldığı girdileri yorumlar, saklar, bu bilgilere dayanarak dış dünyaya bir takım sonuçlar gönderir. Bu modele I/O modeli denir.

I/O Modelleri

Windows ortamında çalışan bir program kullanıcıdan girdileri klavye, mouse, buton ya da kaydırma çubukları gibi çeşitli kontroller yardımı ile alır. Bir Windows programı çıktıyı kullanıcıya yazı veya grafik olarak gösterir. Bir fırını çalıştıran program ise farklı bir kullanıcı I/O modeline sahiptir. Burada girdiler fırınını ön panelindeki butonlarla yapılır. Çıktılar ise fırının açılması, fırının kapanması, tepsinin döndürülmesi, ışığın yakılması şeklinde olacaktır. C ve C# gibi dillerde kullanıcı girdi ve çıktısı için özel bir model yoktur. Bu bir eksiklik gibi görünüyor fakat değil. Bunu şöyle söylemek daha doğru olacaktır: C#, kullanıcıyı herhangi bir girdi ve çıktı modelini kullanmaya zorlamaz. Siz yazdığınız programın nerede kullanılacağına göre girdi ve çıktı modelinizi kendiniz seçersiniz.

Bu bölümde konsol ekranı yardımıyla kullanıcıya çıktı verebilen bir program yazmaya çalışacağız. Bunu yapmadan önce bazı kavramları açıklamakta yarar var. Ekranda yazı göstermeye yarayan System.Console.WriteLine() ve System.Console.Write komutlarıdır. Bu komutlar neden üç parçadan oluşuyor? Bu parçaların adları nelerdir?

System bir isimuzayıdır. İsimuzayları C#’a C++ dilinden miras kalmıştır. İsimuzayları birbiri ile alakalı yöntemleri bir paket içinde toplamaya yarayan bir paketleme sistemidir. Bir isimuzayının içindeki bir yöntemin adı diğer bir isimuzayı içinde de bulunabilir. Bu da isimuzayının bir diğer işlevidir.

System isimuzayı; kullanıcı ile iletişim kurmaya yarayan I/O modeli olan Console, matematiksel işlemlerin bir araya toplandığı Math gibi temel sınıfları içinde barındırır. Burada sınıf terimi geçti. Bir önceki bölümde de anlattığımız gibi, C# programının temel birimi sınıftır. Bunu daha doğrusu şöyle söylemek lazım: Nesne yönelimli dillerin temel birimi sınıftır. Sınıfların özellikleri ve yöntemleri vardır. Bir arabayı örnek alalım. Rengi, modeli fiyatı gibi özellikleri vardır. Hareket etmek, korna çalmak, durmak gibi yöntemleri vardır. Daha sonra bu temel araba sınıfından bir takım farklı özellik ve yöntemlere sahip olan otobüs, kamyon, minibüs gibi sınıflar türetiriz. Bu sınıfların örnekleri olan nesneler ise araba sınıfının niteliklerini taşırlar. Türetilmiş sınıftan oluşturulan nesne de türetilmiş sınıfın özelliklerini ve temel sınıfın özelliklerini taşır.

Yöntemler ise sınıfın dış dünya ile etkileşimini sağlayan eylemleridir. Mesela Console sınıfının WriteLine yöntemi ekranda bir satır yazı gösterir. Write yöntemi ise ekranda yazı gösterir ama alt satıra geçmez işini bitirince.

WriteLine yöntemini kullanan bir program bu yönteme bir argüman yollar:

1 System.Console.WriteLine(ToplamMeyve);

Bazı programcılar parantez ile argümanı ayırmak için argümanın sağına ve soluna boşluk koymayı tercih ederler.

1 System.Console.WriteLine( Toplam );

WriteLine yöntemine bir değişkeni argüman olarak geçebildiğimiz gibi, bir sayısal ifadeyi de geçebiliriz.

1 System.Console.WriteLine( Elma + Armut );

Yukarıdaki iki satırı incelersek ilkinde bir işlemin sonucunu tutan değişkenin değerini yazdırıyoruz. İkincisinde ise işlemin kendisini direkt parantezlerin içine yazıyoruz. Sonucu hesaplayıp ekrana yazıyor.

Eğer amacımız sadece 2 ve 3 sayılarının toplamını ekrana yazdırmak ise

1 System.Console.WriteLine( 2+3 );

yazabiliriz.

using Direktifi

Eğer programda birden fazla System.Console.WriteLine yöntem çağrısı yapıyorsak System isimuzayınu using direktifini sınıf tanımı yapmadan önce programımızın başına ekleriz. using direktifi ile tanımladığımız herhangi bir isimuzayına dahil sınıfların yöntemlerini çağırırken artık isimuzayı ismini yazmadan sadece sınf.yöntem() şeklinde yöntemi yazarız. Bu bize zaman kazandırır. using direktifine direktif denmesinin sebebi programın çalışma zamanında hiçbir işlevinin olmamasındandır.

1 Console.WriteLine(Toplam);

Şimdi artık çalışan ve ekrana yazı yazan bir program yazalım.

1 using System;
2 class BirProgram
3 {
4   static void Main()
5   {
6     int Elma, Armut, Toplam;
7  
8     Elma = 2;
9     Armut = 3;
10     Toplam = Elma + Armut;
11     Console.WriteLine ( Toplam );
12   }
13 }
 
 
  Ziyeretci sayısı:  
 
Google Pagerank Checker Pagerank
Zirve100 PageRank PageRank Türkçe Arama Add to Google Zirve100 Site istatistikleri
Zirve100 Site Ekle resim Site Ekle Türkiye Web Site Arama Portalı-Ücretsiz Site Ekle
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol