Arşiv

Archive for the ‘C#’ Category

C# Günleri – Gün 3

Kasım 15, 2009 fentanyl Yorum yapın

Visual C# 2008

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Proje1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(“msdundar”);

Console.Write(“To continue press any key”);

Console.ReadKey();

}

}

}

F5 veya Start Debugging ile derletip sonucu konsoldan görebiliriz.

Şimdi  öyle  bir  ayarlama  yapacağım  ki  bu uygulama çalıştırıldığı zaman ekrana bir pencerenin gelmesini sağlayacağım.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Proje1

{

class Program

{

static void Main(string[] args)

{

System.Windows.Forms.Form Form1;

Form1 = new System.Windows.Forms.Form();

Form1.Text = “MSDundar”;

System.Windows.Forms.Application.Run(Form1);

}

}

}

Bu kodu dikkatlice  incelerseniz using deyimiyle System.Windows.Forms adlı  namespace’deki  Class’lardan  yararlanılmak  istendiği  belirtilmiş.  Aynı satırı sizler yazmaya kalkışırsanız hata meydana gelir. Çünkü bu Namespace .NET  Framework  ile  gelen  System.Windows.Forms.dll  adlı  DLL dosyasında  yani  referansta  yer  almaktadır.  .NET  Framework’e  ait  klasöre baktığınızda bu dosyayı görebilirsiniz.

Konsol  uygulamaları  dahilinde  ekrana  pencere  getirmek  için  bu  DLL dosyasının konsol uygulamasına dahil edilmesi gerekiyor. Başka bir deyişle Express Edition’ın bu referans hakkında bilgilendirilmesi gerekir. Bunun  için Express Edition penceresi içinde yer alan Solution Explorer penceresinden yararlanıp  Add  Reference  diyalog  kutusunu  ekrana  getirip System.Windows.Forms.dll referansını uygulamaya dahil etmelisiniz.

Her  ne  kadar  burada  referansın uygulamaya  dahil  edildiğinden  söz  edilse  bile  gerçek  tam  böyle  değildir. Yapılan,  Express  Edition’ın  dolayısıyla  C#  derleyicisinin  bu  referanstan yararlanılmak istendiği konusunda haberdar edilmesinden ibarettir.

Yukarıda  verilen  kodun  üzerinde  biraz  duralım.  Main() metoduna  yazdığım  bu  satırların  ilkinde  “Form1”  adında  ve System.Windows.Forms  adlı  Namespace’teki  Form  sınıfı  tipinde  bir değişken  tanımlanmaktadır. Devamında  new  anahtar  kelimesi  ile  Form sınıfının  örneğini  alıp (yani  nesne  hazırlayıp)  referansını  Form1  adını verdiğim değişkene aktardım. En son olarak bu Form nesnesini Application sınıfının Run() metoduna parametre olarak verdim. Dikkat ederseniz burada tanımladığım  değişkene  Form1  adını  verdim.

C# Günleri – Gün 1&2

Kasım 14, 2009 fentanyl Yorum yapın

En az satır sayısına sahip, en basit C# kodu :

class Deneme

{

static void Main(string[] args)

{

}

}

Main() metoduna program içinde mutlaka yer vermeliyiz.

En az satıra sahip bu C# programındaki Main() metodunun hem static hem de  void  olduğunu  işaret  ettim.  C#  programlarının  başlangıç  noktası  olan Main() metodu(C  programlama  dilinde Main’den  fonksiyon  diye  söz  edilir) statik olmak zorundadır ama void olması zorunlu değildir. Metot geriye bir değer  göndermeyecekse  metot  adından  önce  void  yazılır.

Main() metodunun adından sonra parantezlerin arasına  “string[]  args”  yazdım.  Bu parantezin  içine  yazdıklarım  gerçekte dizi değişken  tanımlamaktan başka bir  şey değildir. Main  metodu  içinde tanımlanan  dizi  değişkene  “args”  adını  vermek  C#  programcılarının  bir alışkanlığıdır.

Şimdi  yukarıda  verdiğim  C#  programının  başlangıç  noktası  olan  Main() metodu  içinde  bir  değişkene  yer  vereceğim.  Bu  değişkeni  Main() metodu içinde tanımladım. Değişkeni Main() metodu tarafından sınırlanan kod bloğu yerine Class bloğu içinde tanımlayabilirdim.

class Deneme

{

static void Main(string[] args)

{

int yil;

}

}

Gördüğünüz  gibi  C#  programlarında  değişken  tanımlanırken  önce değişkenin  tipi sonra adı yazılmaktadır. Buradaki  int bu değişkenin  integer yani  tamsayı  tipindeki  bilgileri  saklayabileceğini  işaret  etmektedir.

Main() metodu  içinde yaşayabilecek  “yil” adında ve  Integer tipindeki bilgilerin aktarılabileceği bir değişken tanımlanmıştır. Bu değişkeni Main() metodu  içinde  tanımladığım için yalnızca Main() metodunun sınırları içinde  yaşar.  Fark  etmiş  olabileceğiniz  gibi  C#  programlarında  Class  ve metot başlatılan satırlar hariç her satırın sonuna “;” konulmaktadır.

Şimdi yukarıda verdiğim basit C# kod dosyası içinde Mesaj() adını verdiğim

metodu  Main()  metodunun  içinden  işleteceğim.  Hazırladığım  metot  aynı

sınıfın içinde olduğu için herhangi bir hazırlık yapmadan direk adıyla çağırıp

işletmek mümkündür.

class Deneme

{

static void Main(string[] args)

{

int yil;

Mesaj();

}

static void Mesaj()

{

}

}

Bu  programı  aşağıdaki  gibi  düzenlemiş  olsaydım  değişen  bir  şey  olmazdı.

Çünkü  C#  derleyicisi Main() metodunu  bulup  programın  başlangıç  noktası

yapar. Bu kısa örnekte “yil” adını verdiğim değişkeni hiç kullanmadığım için

C# derleyicisi derleme sırasında uyarı mesajı verir.

class Deneme

{

static void Mesaj()

{

}

static void Main(string[] args)

{

int yil;

Mesaj();

System.Console.WriteLine(“MSDundar”);

}

}

Konsolda  yani  DOS  penceresinde çalışan  C#  projelerinde  ekrana  bilgi  yazma  işlemleri  .NET  Framework  ile gelen Console sınıfında tanımlı olan Write() veya WriteLine() metotları ile yapılmaktadır.

Bu  şekilde  düzenlenen  C#  uygulaması  DOS  penceresinde  derlenip çalıştırıldığında  ekrana  “MSDundar”  yazdırıldıktan  sonra  programın çalışması sona erer. Çünkü C# ile geliştirilmiş programların çalışması Main() metodunun sonuna gelindiğinde biter.

Mesaj()  metoduna  yazdığım  satır  hakkında  biraz  konuşmak  gerekirse; “System.Console.WriteLine(“MSDundar “);”  satırındaki  System  bir namespace’tir.

Kısaca  anlatmak  gerekirse  Class’lar  Namespace’lerin  içine yerleştirilmektedir.  System  adlı  Namespace  .NET  Framework  ile  gelen  en önemli  Namespace’tir  ve  çok  sayıda  Class’ı  barındırmaktadır.  DOS penceresine veya konsola bilgi yazmak üzere hazırladığım satırdaki Console bir Class’tır. Çok sayıda metoda sahip olan bu Class’ın sayesinde konsol yani DOS  penceresi  ile  ilgili  istenen  işlemler  yapılabilmektedir.  Bu  satırdaki WriteLine() ise Console sınıfının bir metodudur.

Hazırlayıp  derlediğim  C#  programı  ekrana  bu  bilgiyi  yazdıktan  sonra  yani Main()  metodunun  sonuna  gelindiğinde  çalışması  otomatik  olarak  sona erer. Şimdi  bu  örmekte  öyle  bir  ayarlama  yapalım  ki  programın  veya  exe dosyanın  çalışması  Enter  tuşuna  basıncaya  kadar  devam  etsin.  Programın çalışmasının Enter tuşuna basıncaya kadar devam etmesini sağlamak üzere Deneme adını verdiğim Class’ın Main() metoduna bazı eklemeler yaptım.

Read more…

Java Mı, C# Mı?

Haziran 6, 2009 fentanyl Yorum yapın

En Çok Tartışılan Dil : Java

C#‘ın Microsoft tarafından ortaya atılışından beri C#’ın Java‘ya benzeyip benzemediği, C#’ın Java’dan üstün olmadığı gibi başlıklar yazılım dünyasında en çok tartışılan konular arasında yer alıyor. Internet, iki dilin taraftarları arasındaki polemik düzeyine varan tartışmalar, iki dilin teknik özelliklerini karşılaştıran bilimsel makaleler, her iki dili de benimseyenlerin yaptığı yorumlar ve her iki dili de sevmeyenlerin verdiği beyanatlarla dolu.

C#’ın öncesinde Java’nın özellikleri en çok tartışılan konuların başında geliyordu. Java’nın Sun tarafından ortaya atıldığı günden beri, her yerde ne kadar kötü bir dil olduğu, ne kadar yavaş çalıştığı gibi konularda yoğun bir anti-Java kampanyası vardı. Elbette bunda Java teknolojisinin kendi ellerindeki teknolojileri geride bırakacağından korkan bazı firmalar var. (Yoksa ‘firmalar’ yerine sadece ‘firma’ mı demek lazım?) Ancak herşeye rağmen Java giderek yaygınlaştı, C++ gibi ‘güçlü’ diller, Visual Basic gibi ‘kolay’ diller arasında var olmayı bildi. Hatta giderek bir çok geliştirici eski dillerinden vazgeçip Java’ya geçer oldular. Java üniversitlerde okutulan, hemen her konuda yazılım geliştirmekte kullanılan bir dil oldu. Servlet ve JSP teknolojisiyle sunucu tarafında, J2ME‘la el cihazlarında, Swing ve AWT gibi arayüzlerle masaüstünde bir çok dile ve platforma rakip oldu. Bazılarında başarısız oldu, bazılarında sildi süpürdü. Java ‘rakipsiz’di. Ama artık bir rakibi var : C#.

Read more…

Categories: C#, Java Etiketler:,