

Evet Arkadaşlarım Sabredemedım Artık Programlama Dıllerınde C# Öğreneceğiz Birlikte
-
İlk once lutfen sızden bır rıcam olacak artık yavaş yavaş programlama yapacağız ve sızlerı ılerde programlama yaparken goreceğiz ılk temelı ben atıyorum saygılar dılıyorum ve guzel bır dökuman okumanızı ısterım ve uygulamanızı......
Her Yönüyle ilk C# Programımız
C# dili ortaya çıkalı daha hiç birşey yapmayan varsa ya da birşeyler yapıp da ne yaptığından emin olmayan varsa işte bu yazı tam size göre. Bu yazımızda klasik Merhaba Dünya programımızı yazacağız.Ama programımızı yazarken her şeyi adım adım öğreneceğiz. Unutmayın amacımız burada Merhaba Dünya yazmak değil. :) O halde aşağıdaki programı iyice inceleyin önce, şöyle bir süzün programı yukarıdan aşağıya, fazla detaylara inmeden yazımızı okumaya devam edin;
//dosya adı : Merhaba.cs
using System;namespace MerhabaDunya
{
class Sınıf1
{
static void Main(string args[])
{
Console.WriteLine("Merhaba Dünya");
}
}
}
Yukarıdaki ilk programımızı incelediğinize göre açıklamalarımıza geçebiliriz. Eğer önceden C++ ve Java ile ilgilenmiş arkadaşlar varsa yukarıdaki kodlar tanıdık gelebilir. Nitekim, her ne kadar Microsoft firması ilk başlarda bunu kabul etmese de C# dili Java ve C++ dillerinin harmanlanmasından oluşmuş bir dildir. Bugün bunu kabul etmeyen yoktur sanırım.
Yukarıdaki ilk programımızın kodunu ben Notepad ile yazdım. Ama kodu derleyip çalıştırmak için bir C# derleyicisine ihtiyacımız olacak. C# derleyicisi Visual Studio.NET ile kurulabileceği gibi www.microsoft.com web sitesinden .NET Framework yazılımını indirerek de kurulabilir. Eğer Visual Studio ortamında çalışıyorsanız yukarıdaki kodları Visual Studio .NET ' in sunduğu hazır proje şablonlarından rahatlıkla oluşturabilirsiniz. Visual Studio programını çalıştırdıktan sonra Project->New menüsünden dil olarak Visual C# ve proje şablonu olarak da "Console Application" seçerseniz, main işlevi içindeki kodlar dışındaki yapı otomatikmen oluşturulacaktır.Eğer .NET Framework yapısını kurduysanız Console Ekranından C# derleyicisini çalıştırmalısınız. Komut ekranını <csc Merhaba.cs> yazarak kaynak kodumuzu derleyebilirsiniz.
Şimdi kodlarımızı inceleyelim. İlk satırdaki <using System;> ifadesi System adlı bir isim alanının kullanılacağını belirtiyor.Peki nedir bu isim alanı(Namespace). İsimalanı kavramı son yıllarda program modüllerinin çok sayıda artmasından dolayı popüler hale gelmiştir. Kolay ve hızlı programlama yapmamızı sağlayan bir takım hazır kütüphaneler her ne kadar işimizi kolaylaştırsa da eğer isimalanları olmasaydı kullanacağımız her kütüphane bizim için işin içinden çıkılmaz bir hale gelebilirdi. Düşünün ki iki ayrı firma iki ayrı sınıf kütüphaneleri oluşturdu ve bu kütüphanelerin içinde aynı isimli birden çok sınıf yapısı var. Eğer biz programcı olarak iki firmanın da kütüphanesini kullanmak istiyorsak her ikisini aynı kod içinde kullanamayız. Çünkü aynı isimli sınıflar derleme aşamasında hata verecektir. Bu durumda yapılması gereken tek şey ya da en etkili yöntem isimalanlarını kullanmaktır. Yani bir sınıfa(class) ulaşabilmek için onun isim alanıyla çağırmak. İsim alanları hiyerarşik yapıda olabilir. Mesela System isim alanının altında başka bir isim alanı onun altında başkaları vs. İşte .NET isimalanı(namespace) hiyerarşisinin en tepesinde bulunan isim alanı System adlı isimalanıdır. En temel işlemlerimiz için bile bu isim alanını kullanmalıyız. Aksi halde programımız çalışmayacaktır. İsimalanlarını kullanmak için isimalanının başına using sözcüğü getirilir.
Soru: System isim alanının içinde Data isimalanında bulunan bir cs adlı sınıfı kullanabilmek için kaynak kodumuza ne eklememiz gerekir.
Cevap : Kaynak kodumuzun en başına aşağıdaki ifadeyi yazmamız gerekir.
using System.Data;
Bildiğiniz gibi C# dili %100 nesne tabanlı bir dildir. Yaptığımız herşey bir sınıf nesnesidir C# dilinde. Nesne olmayan hiçbirşey yoktur. C++ dilindeki main işlevini hatırlarsınız çoğunuz. Programımız c++ dilinde main işlevinden başlar ama main işlevi hiç bir zaman bir sınıf içinde 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. Yukarıdaki programımızda <class Sınıf1> ifadesi ile programımızda bir sınıf nesnesi oluşturuyoruz. Sınıf1 sınıfının bir işlevi olan main'in elbette eskiden de olduğu gibi özel bir anlamı vardır. Biliyorsunuz ki derleyiciler programın nerden çalışacağını bilmek isterler, aksi halde derleme işleminden sonra "programınız için başlama noktası bulunamadı" hatası alırız. Bu yüzden main işlevi bizim için eskiden de olduğu gibi programımızın başlangıç noktasıdır. Yani biz programda yapmak istediklerimizi main işlevi içinde gerçekleştireceğiz. Sınıf tanımlamalarımızı ise istediğimiz noktada yapabiliriz. Daha öncede dediğimiz gibi isimalanları birçok sınıfın veya tek bir sınıfın oluşturduğu kümedir. Bizim ana programımız da bir sınıf olduğuna göre Class1 sınıfını istediğimiz isimli bir isimalanına sokabiliriz. Yukarıda <namespace MerhabaDunya> yazarak isimalanını başlatıyoruz.
Şimdi main işlevinin içine bakalım, System isimalanında bulunan Console sınıfının bir metodu olan WriteLine() ile ekrana bir string ifadesi yazdırıyoruz. Biz burda iki tırnak ifadesi içinde yazımızı belirtmemize rağmen fonksiyonun kullanmı bununla sınırlı değildir. C# dilindeki fonksiyon aşırı yükleme (function overloading)kullanılarak fonksiyonu birçok parametrik yapıda kullanabilmemiz sağlanmıştır. Fonksiyon aşırı yükleme konusuna bundan sonraki yazılarımızda değineceğimizi belirtelim. WriteLine() işlevinin adından da anlaşılacağı gibi ekrana basmak istediğimiz yazıdan sonra satır atlama işlemi yapar.Bunu test etmek için bir tane "Merhaba Dünya" da siz yazdırın. Göreceksiniz ki siz belirtmemenize rağmen alt alta iki tane "Merhaba Dünya" yazısı çıkacak.
Eğer bu programı yazıp derlediyeseniz ne mutlu size ki C# dünyasına güzel bir adım attınız.Her Yönüyle ilk C# Programımız
C# dili ortaya çıkalı daha hiç birşey yapmayan varsa ya da birşeyler yapıp da ne yaptığından emin olmayan varsa işte bu yazı tam size göre. Bu yazımızda klasik Merhaba Dünya programımızı yazacağız.Ama programımızı yazarken her şeyi adım adım öğreneceğiz. Unutmayın amacımız burada Merhaba Dünya yazmak değil. :) O halde aşağıdaki programı iyice inceleyin önce, şöyle bir süzün programı yukarıdan aşağıya, fazla detaylara inmeden yazımızı okumaya devam edin;
//dosya adı : Merhaba.cs
using System;namespace MerhabaDunya
{
class Sınıf1
{
static void Main(string args[])
{
Console.WriteLine("Merhaba Dünya");
}
}
}
Yukarıdaki ilk programımızı incelediğinize göre açıklamalarımıza geçebiliriz. Eğer önceden C++ ve Java ile ilgilenmiş arkadaşlar varsa yukarıdaki kodlar tanıdık gelebilir. Nitekim, her ne kadar Microsoft firması ilk başlarda bunu kabul etmese de C# dili Java ve C++ dillerinin harmanlanmasından oluşmuş bir dildir. Bugün bunu kabul etmeyen yoktur sanırım.
Yukarıdaki ilk programımızın kodunu ben Notepad ile yazdım. Ama kodu derleyip çalıştırmak için bir C# derleyicisine ihtiyacımız olacak. C# derleyicisi Visual Studio.NET ile kurulabileceği gibi www.microsoft.com web sitesinden .NET Framework yazılımını indirerek de kurulabilir. Eğer Visual Studio ortamında çalışıyorsanız yukarıdaki kodları Visual Studio .NET ' in sunduğu hazır proje şablonlarından rahatlıkla oluşturabilirsiniz. Visual Studio programını çalıştırdıktan sonra Project->New menüsünden dil olarak Visual C# ve proje şablonu olarak da "Console Application" seçerseniz, main işlevi içindeki kodlar dışındaki yapı otomatikmen oluşturulacaktır.Eğer .NET Framework yapısını kurduysanız Console Ekranından C# derleyicisini çalıştırmalısınız. Komut ekranını <csc Merhaba.cs> yazarak kaynak kodumuzu derleyebilirsiniz.
Şimdi kodlarımızı inceleyelim. İlk satırdaki <using System;> ifadesi System adlı bir isim alanının kullanılacağını belirtiyor.Peki nedir bu isim alanı(Namespace). İsimalanı kavramı son yıllarda program modüllerinin çok sayıda artmasından dolayı popüler hale gelmiştir. Kolay ve hızlı programlama yapmamızı sağlayan bir takım hazır kütüphaneler her ne kadar işimizi kolaylaştırsa da eğer isimalanları olmasaydı kullanacağımız her kütüphane bizim için işin içinden çıkılmaz bir hale gelebilirdi. Düşünün ki iki ayrı firma iki ayrı sınıf kütüphaneleri oluşturdu ve bu kütüphanelerin içinde aynı isimli birden çok sınıf yapısı var. Eğer biz programcı olarak iki firmanın da kütüphanesini kullanmak istiyorsak her ikisini aynı kod içinde kullanamayız. Çünkü aynı isimli sınıflar derleme aşamasında hata verecektir. Bu durumda yapılması gereken tek şey ya da en etkili yöntem isimalanlarını kullanmaktır. Yani bir sınıfa(class) ulaşabilmek için onun isim alanıyla çağırmak. İsim alanları hiyerarşik yapıda olabilir. Mesela System isim alanının altında başka bir isim alanı onun altında başkaları vs. İşte .NET isimalanı(namespace) hiyerarşisinin en tepesinde bulunan isim alanı System adlı isimalanıdır. En temel işlemlerimiz için bile bu isim alanını kullanmalıyız. Aksi halde programımız çalışmayacaktır. İsimalanlarını kullanmak için isimalanının başına using sözcüğü getirilir.
Soru: System isim alanının içinde Data isimalanında bulunan bir cs adlı sınıfı kullanabilmek için kaynak kodumuza ne eklememiz gerekir.
Cevap : Kaynak kodumuzun en başına aşağıdaki ifadeyi yazmamız gerekir.
using System.Data;
Bildiğiniz gibi C# dili %100 nesne tabanlı bir dildir. Yaptığımız herşey bir sınıf nesnesidir C# dilinde. Nesne olmayan hiçbirşey yoktur. C++ dilindeki main işlevini hatırlarsınız çoğunuz. Programımız c++ dilinde main işlevinden başlar ama main işlevi hiç bir zaman bir sınıf içinde 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. Yukarıdaki programımızda <class Sınıf1> ifadesi ile programımızda bir sınıf nesnesi oluşturuyoruz. Sınıf1 sınıfının bir işlevi olan main'in elbette eskiden de olduğu gibi özel bir anlamı vardır. Biliyorsunuz ki derleyiciler programın nerden çalışacağını bilmek isterler, aksi halde derleme işleminden sonra "programınız için başlama noktası bulunamadı" hatası alırız. Bu yüzden main işlevi bizim için eskiden de olduğu gibi programımızın başlangıç noktasıdır. Yani biz programda yapmak istediklerimizi main işlevi içinde gerçekleştireceğiz. Sınıf tanımlamalarımızı ise istediğimiz noktada yapabiliriz. Daha öncede dediğimiz gibi isimalanları birçok sınıfın veya tek bir sınıfın oluşturduğu kümedir. Bizim ana programımız da bir sınıf olduğuna göre Class1 sınıfını istediğimiz isimli bir isimalanına sokabiliriz. Yukarıda <namespace MerhabaDunya> yazarak isimalanını başlatıyoruz.
Şimdi main işlevinin içine bakalım, System isimalanında bulunan Console sınıfının bir metodu olan WriteLine() ile ekrana bir string ifadesi yazdırıyoruz. Biz burda iki tırnak ifadesi içinde yazımızı belirtmemize rağmen fonksiyonun kullanmı bununla sınırlı değildir. C# dilindeki fonksiyon aşırı yükleme (function overloading)kullanılarak fonksiyonu birçok parametrik yapıda kullanabilmemiz sağlanmıştır. Fonksiyon aşırı yükleme konusuna bundan sonraki yazılarımızda değineceğimizi belirtelim. WriteLine() işlevinin adından da anlaşılacağı gibi ekrana basmak istediğimiz yazıdan sonra satır atlama işlemi yapar.Bunu test etmek için bir tane "Merhaba Dünya" da siz yazdırın. Göreceksiniz ki siz belirtmemenize rağmen alt alta iki tane "Merhaba Dünya" yazısı çıkacak.
Eğer bu programı yazıp derlediyeseniz ne mutlu size ki C# dünyasına güzel bir adım attınız.C ve C++ bakış açısıyla C# dili
Bildiğimiz gibi bilgisayarları programlamak için programlama dillerine ihtiyaç duyulur.Bu dillerden en popülerleri Basic,C,C++,Pascal,Java ve Assembler 'dır.Makina dili ise donanımı kontrol etmek için donanımı üreten firma tarafından tanımlanan komutlar kümesidir. Bazı programlama dilleri derleyicilere ihtiyaç duymasına karşın bazıları ise yorumlayıcılara ihtiyaç duyarlar, mesela bir c++ programını çalıştırabilmek için C++ derleyicisine ihtiyacımız varken, Perl ile yazılmış bir CGI scripti için komut yorumlayıcısına ihtiyacımız vardır. Derleyiciler programı çalıştırmadan önce kodları makina komutlarına çevirirler fakat yorumlayıcılar bir grup kodu satır satır ya da bloklar halinde yorumlayarak çalıştırırlar.
Aslında derleyiciler de, komut yorumlayıcıları da birer bilgisayar programından başka birşey değildirler.Yani c ve c++ dilleri bir giriş bekleyen ve çıkış veren birer bilgisayar programları gibi düşünülebilir.Giriş olarak kaynak kodu veren bu programlar çıkış olarak ise makina kodu üretirler.
C ve C++ dillerine kısa bir bakış:
C dili en popüler yapısal programlama dilidir.C dili Dennis Ritchie tarafından, Martin Richards ve Ken Thompson tarafından geliştirilen BCBL ve B dillerinin temelleri üzerine kuruldu.
C dili "The C Programming Language by Brian Kernighan and Dennis Ritchie" kitabıyla büyümüştür.C dili için, 1983 yılının büyük önemi vardır.Çünkü 1983 yılında ANSI standartlar komitesi C standartları için toplanmıştır.Bu standartlaşma süreci tam 6 yıl sürmüştür.Ve tabi ki şu anki standartların oluşumuna katkıda bulunan ANSI 99 standartları da diğer önemli bir gelişmedir.
C programcılar tarafından herhangi bir tür program geliştirmek için yazılmış genel amaçlı bir dildir. C ile bir düşük seviyeli sistem için program yazabileceğimiz gibi, yüksek seviyeli bir GUI(Grafik Arabirimi) tasarlamamız da mümkündür.Ve elbette kendi kütüphanemizi de C ile oluşturabiliriz.C dilinin ortaya çıkmasından bunca yıl geçmesine rağmen popülaritesini hiçbir zaman kaybetmemiştir. Günümüz programcıları çeşitli amaçlar için programlarını geliştirirken C dili ile yazılmış kaynak kodlarını kullanırlar.
Bjarne Stroustrup 1980 yıllında C++ dilini ortaya çıkarmıştır. C++ dili C temelli ve C nin bir üst kümesi olarak düşünülebilir. C++ en popüler nesne temelli programlama dilidir. C++ dilinin ilk ismi "C with Classes"(C ile sınıflar) idi. C++ dili C diline nazaran daha etkili ve güçlüdür.Ve en önemli özellği ise C 'den farklı olarak nesne temelli bir dildir.Şu anda C++ dili ANSI ve ISO kuruluşları tarafından standartlaştırılmıştır. Bu standartların son versiyonu 1997 yılında yayınlanmıştır.
C# diline kısa bir bakış:
C#, güçlü, modern, nesne tabanlı ve aynı zaman type-safe(tip-güvenli) bir programlama dilidir.Aynı zamanda C#, C++ dilinin güçlülüğünü ve Visual Basic' in ise kolaylığını sağlar.Büyük olasılıkla C# dilinin çıkması Java dilinin çıkmasından bu yana programcılık adına yapılan en büyük gelişmedir. C#, C++ 'ın gücünden , Visual Basic 'in kolaylığından ve Java 'nın da özelliklerinden faydalanarak tasarlanmış bir dildir. Fakat şunu da söylemeliyiz ki, Delphi ve C++ Builder 'daki bazı özellikler şimdi C# 'da var. Ama Delphi ya da C++ Builder hiçbir zaman Visual C++ ya da Visual Basic 'in popülaritesini yakalayamamıştır.
C ve C++ programcıları için en büyük sorun, sanırım hızlı geliştirememedir. Çünkü C ve C++ programcıları çok alt seviye ile ilgilenirler.Üst seviyeye çıkmak istediklerinde ise zorlanırlar.Ama C# ile artık böyle bir dert kalmadı.Aynı ortamda ister alt seviyede isterseniz de yüksek seviyede program geliştirebilirsiniz.C# dili Microsoft tarafından geliştirilen .NET paltformunun en temel ve resmi dili olarak lanse edilmiştir.C# dili Turbo Pascal derleyicisini ve Delphi 'yi oluşturan takımın lideri olan Anders Heljsberg ve Microsoft'da Visual J++ takımında çalışan Scott Wiltamuth tarafından geliştirilmiştir.
.NET framework'ünde bulunan CLR (Common Language Runtime), JVM (Java Virtual Machine)' ye, garbage collection, güvenilirlik ve JIT (Just in Time Compilation) bakımından çok benzer.
CLR, .NET Framework yapısının servis sağlama ve çalışma zamanının kod organizasyonu yapan ortamıdır. CLR, ECMA standartlarını destekler.
Kısacası C# kullanmak için CLR ve .NET Framework sınıf kütüphanesine ihtiyacmız vardır. Bu da demek oluyor ki C#, JAVA, VB ya da C++ değildir. C,C++ ve JAVA 'nın güzel özelliklerini barındıran yeni bir programlama dilidir. Sonuç olarak C# ile kod yazmak hem daha avantajlı hem daha kolay hem de etkileyicidir.
Bir başka yazıda buluşmak ümidiyle ... -
Kardeşlerım bunlar benım hazırladığım asıl dokumanlar başka bır yerlerde gorursenız ve işitirsenız lutfen ve lutfen bana pm atınız
EĞER MADEM BU DOKUMANLARI BAŞKA SITELERDE YAYCAKSANIZ BARI ALINTI DEMENIZI ISTIYORUM
-
saol kardeş eline sağlık temiz iş .... :))
-
http://www.csharpnedir.com/makalegoster.asp?MId=1
biraz ayıp değil mi ama? Buradaki adamlardamı senden aldılar -
YUH BE BİRADER EMEĞE SAYGI YAW KUL HAKKI HATTA
ZATEN BAŞLIKTAN BELLİ ALINTI OLCAGI 'SABREDEMEDİM' NE YANİ SABREDEMEDİM SABREDECEK NE VAR BU KONUDA LAHAVLEVELAKUVVETE....
AYIP AYIP AYIP
-
üstelik c# kitabı yazmış adamın makalesini araklamış.
-
İleti kullanıcının iradesi ile tarafından düzenlenip, silindi.
-
yuhh artik!!
bi insan ancak bu kadar alcalabilir -
ya ossun adam ordan (ç)alıntı yapmış be sen yinede saol yaw ama kendin yazsan sewincez bizde ...
-
Yuh be bi paragrafı googla kopyaladım asıl sayfayı buldu
biraz değiştirseydin bari....
-
yüz kizartici olay ,atin iceri