C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like (C benzeri) bir deneyim sunar.
Paradigması | Yapısal (structured), Zorunlu (imperative), Nesne yönelimli (object-oriented), Olaya dayalı (event-driven), Fonksiyonel (functional), , , |
---|---|
İlk çıkışı | 2000 | )
Tasarımcı | Microsoft |
Geliştirici | Microsoft |
Kararlı sürüm | 10.0 (8 Kasım 2021 | ) )
Önizleme sürümü | 11.0 (22 Şubat 2022 | ) )
, .NET Framework, Mono, | |
Etkilendikleri | , Java |
Etkiledikleri | D, Dart, Swift, Java |
Uygulama dili | C# |
Platformu | Cross-platform |
Lisans | CLR is proprietary, GPLv3, , LGPLv2, GPL |
Olağan dosya uzantıları | .cs, .csx |
Web sitesi | https://learn.microsoft.com/tr-tr/dotnet/csharp/ |
Ailesi | C |
Microsoft tarafından geliştirilmiş olsa da ECMA ve ISO standartları altına alınmıştır.
C programlama dilinde bir tam sayı değişkeni 1 artırmak için değişkenden sonra "++" eki kullanılır. dilinin adı, C diliyle Nesne Yönelimli Programlama yapabilme olanağı (C with Classes) için eklentiler sağladığı için "C++" şeklindedir. Benzer şekilde C++ diline yeni eklentiler yapılarak ((C++)++) bir adım daha da ileriye götürülmüş ve tamamen nesneye yönelik tasarlanmış C# dilinin isimlendirilmesinde, + karakterlerinin birbirlerine yakınlaşmış hali ve bir melodi anahtarı olan C# Major kullanılmıştır.
Bu dilin tasarlanmasına Pascal, Delphi derleyicileri ve J++ programlama dilinin tasarımlarıyla bilinen Anders Hejlsberg liderlik etmiştir.
Birçok alanda Java'yı kendisine örnek alır ve C# da java gibi C ve C++ kod sözdizimine benzer bir kod yapısındadır. .NET kütüphanelerini kullanmak amacıyla yazılan programların çalıştığı bilgisayarlarda uyumlu bir kütüphanenin ve yorumlayıcının bulunması gereklidir. Bu, Microsoft'un .NET Framework'u olabileceği gibi ECMA standartlarına uygun herhangi bir kütüphane ve yorumlayıcı da olabilir. Yaygın diğer kütüphanelere örnek olarak ve Mono verilebilir.[]
Nesne yönelimli programlama kavramının gelişmesine katkıda bulunan aktif programlama dillerinden biridir.
C#, .NET orta seviyeli programlama dillerindendir. Yani hem makine diline hem de insan algısına eşit seviyededir. Buradaki orta ifadesi dilin gücünü değil makine dili ile günlük konuşma diline olan mesafesini göstermektedir. Örneğin; Visual Basic .NET (VB.NET) yüksek seviyeli bir dildir dersek bu, dilin insanların günlük yaşantılarında konuşma biçimine yakın şekilde yazıldığını ifade etmektedir. Dolayısıyla VB.NET, C#.NET'ten daha güçlü bir dildir diyemeyiz.[]
Programın çalışması istenen bilgisayarlarda Framework kurulu olması gerekmektedir. (Windows 7 ve Windows Vista'da .NET Framework kuruludur)[]
Tasarım hedefleri
ECMA tarafından C# dilinin tasarım hedefleri şöyle sıralanır:
- C#; basit, modern, genel-amaçlı, nesneye yönelik programlama dili olarak tasarlanmıştır.
- Çünkü yazılımın sağlamlığı, güvenirliği ve programcıların üretkenliği önemlidir. C# yazılım dili, güçlü tipleme kontrolü (), dizin sınırlar kontrolü (), tanımlanmamış değişkenlerin kullanım tespiti, () ve otomatik artık veri toplama () gibi özelliklerine sahiptir.
- Programcı portatifliği özellikle C ve C++ dilleri ile tecrübesi olanlar için çok önemlidir.
- Enternasyonal hale koymak için verilen destek çok önemlidir.
- C# Sunucu ve gömülü sistemler için tasarlanmıştır. Bununla birlikte C# programlama dili en basit işlevseli fonksiyondan işletim sistemini kullanan en teferruatlısına kadar kapsamaktadır.
- C# uygulamaları hafıza ve işlemci gereksinimleri ile tutumlu olmak üzere tasarlanmıştır. Buna rağmen C# programlama dili performans açısından C veya Assembly dili ile rekabet etmek için tasarlanmamıştır.
Merhaba Dünya
// Konsol uygulamaları yazılması için System isim uzayı eklenir. // Bu sayede derleyici, System.dll'i kullanması gerektiğini bilir. using System; // Sınıf tanımlamasıdır. class Program { // .NET çalışma zamanında ön tanımlı olarak Main() fonksiyonunu çalıştırır. static void Main() { // Console sınıfı içerisindeki Writeline() fonksiyonu çalıştırılır Console.WriteLine("Merhaba Dünya!"); // Kullanıcıdan herhangi bir tuşa basarak çıkması için bir tuş okunur. Console.ReadKey(); } }
Basit bir hesap makinesi örneği
using System; class Program { double sayi1, sayi2, cevap; string islem; static void Main(string[] args) { Console.Write("Lütfen ilk tam sayıyı giriniz: "); sayi1 = Convert.ToDouble(Console.ReadLine()); Console.Write("Lütfen yapacağınız işlemi giriniz (+, -, /, *): "); islem = Console.ReadLine(); Console.Write("Lütfen ikinci tam sayıyı giriniz: "); sayi2 = Convert.ToDouble(Console.ReadLine()); switch (islem) { case "-": cevap = sayi1 - sayi2; break; case "+": cevap = sayi1 + sayi2; break; case "/": cevap = sayi1 / sayi2; break; case "*": cevap = sayi1 * sayi2; break; } Console.WriteLine(sayi1.ToString() + " " + islem + " " + sayi2.ToString() + " = " + cevap.ToString()); Console.ReadLine(); } }
Sürüm Geçmişi
Sürüm | Yayın Tarihi | .Net Framework | Visual Studio |
---|---|---|---|
C# 1.0 | Ocak 2002 | .NET Framework 1.0 | Visual Studio .NET 2002 |
C# 1.1 C# 1.2 | Nisan 2003 | .NET Framework 1.1 | Visual Studio .NET 2003 |
C# 2.0 | Kasım 2005 | .NET Framework 2.0 .NET Framework 3.0 | Visual Studio 2005 Visual Studio 2008 |
C# 3.0 | Kasım 2007 | .NET Framework 2.0 .NET Framework 3.0 | Visual Studio 2008 |
C# 4.0 | Nisan 2010 | .NET Framework 4 | Visual Studio 2010 |
C# 5.0 | Ağustos 2012 | .NET Framework 4.5 | Visual Studio 2012 Visual Studio 2013 |
C# 6.0 | Temmuz 2015 | .NET Framework 4.6 .NET Core 1.0 .NET Core 1.1 | Visual Studio 2015 |
C# 7.0 | Mart 2017 | .NET Framework 4.7 | Visual Studio 2017 Sürüm 15.0 |
C# 7.1 | Ağustos 2017 | .NET Core 2.0 | Visual Studio 2017 Sürüm 15.3 |
C# 7.2 | Kasım 2017 | Visual Studio 2017 Sürüm 15.5 | |
C# 7.3 | Mayıs 2018 | .NET Core 2.1 .NET Core 2.2 .NET Framework 4.8 | Visual Studio 2017 Sürüm 15.7 |
C# 8 | Eylül 2019 | .NET Core 3.0 .NET Core 3.1 | Visual Studio 2019 Sürüm 16.3 10 Ekim 2022 tarihinde Wayback Machine sitesinde . 10 Ekim 2022 tarihinde Wayback Machine sitesinde . |
C# 9 | Kasım 2020 | .NET 5.0 | Visual Studio 2019 Sürüm 16.8 10 Ekim 2022 tarihinde Wayback Machine sitesinde . |
C# 10 | Kasım 2021 | .NET 6.0 .NET 6.0.1 | Visual Studio 2022 Sürüm 17.0 10 Ekim 2022 tarihinde Wayback Machine sitesinde . |
C# 11 (önizleme) | Ağustos 2022 |
Performans
- C#, Sanal Makine'ye dayalı dillerden biridir, direkt yerleşik koda derlenen dillerden daha yavaştır.
- Bellek yönetiminde bir atık toplayıcısına ihtiyaç duyuyor olması, sistem kaynaklarını C, C++ veya Rust gibi dillere göre daha fazla tükettiği anlamına gelir. Sistem kaynaklarının kullanımına bağlı performans düşüşü olabilir.[]
Platform
- .NET Microsoft uygulama bonservisi Windows üzerinde geçerlidir. Fakat C# programlarını Windows, Linux veya macOS üzerinde yürüten başka uygulamalar da yer almaktadır.
Güvenlik
- C# sanal makineye dayalı bir dil olduğundan kaynak kodlarının korunması zordur. Kaynak kodları karıştırıp şifreleyen ek uygulamalar ile güvenlik düzeyi artırırsa da tam olarak koruma sağlanmaz.[]
Ayrıca bakınız
Kaynakça
- ^ . 8 Kasım 2021 tarihinde kaynağından arşivlendi.
- ^ . 10 Ekim 2022 tarihinde kaynağından arşivlendi.
- ^ . 22 Şubat 2022 tarihinde kaynağından arşivlendi.
- ^ . 10 Ekim 2022 tarihinde kaynağından arşivlendi.
- ^ "Standard ECMA-334". 2 Mayıs 2020. 15 Nisan 2003 tarihinde kaynağından . Erişim tarihi: 2 Mayıs 2020.
- ^ . 2 Mayıs 2020. 12 Aralık 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
- ^ a b "The A-Z of Programming Languages: C#, Computerworld". 2 Mayıs 2020. Erişim tarihi: 2 Mayıs 2020.[]
- ^ . 2 Mayıs 2020. 16 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
- ^ ".NET Framework version history - Wikipedia". 2 Mayıs 2020. 27 Aralık 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Mayıs 2020.
- ^ "ECMA Specifications for C#" (PDF). 2 Mayıs 2020. 15 Mayıs 2020 tarihinde kaynağından (PDF). Erişim tarihi: 2 Mayıs 2020.
- ^ . docs.microsoft.com. 27 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Ocak 2020.
- ^ a b c "Visual Studio 2017 15.9 Release Notes". docs.microsoft.com. 10 Aralık 2019 tarihinde kaynağından . Erişim tarihi: 20 Ocak 2020.
- ^ . 8 Eylül 2007. 1 Eylül 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Eylül 2007.
Dış bağlantılar
- CSharpNedir?Com 23 Ekim 2020 tarihinde Wayback Machine sitesinde . (Türkçe)
- Visual C# Developer Center 7 Eylül 2008 tarihinde Wayback Machine sitesinde . (İngilizce)
- C# Programming Guide 13 Mayıs 2008 tarihinde Wayback Machine sitesinde . (İngilizce)
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
C Microsoft tarafindan NET Teknolojisi icin gelistirilen modern bir programlama dilidir Sozdizimi C like C benzeri bir deneyim sunar C ParadigmasiYapisal structured Zorunlu imperative Nesne yonelimli object oriented Olaya dayali event driven Fonksiyonel functional Ilk cikisi2000 24 yil once 2000 TasarimciMicrosoftGelistiriciMicrosoftKararli surum10 0 8 Kasim 2021 2 yil once 2021 11 08 Onizleme surumu11 0 22 Subat 2022 2 yil once 2022 02 22 NET Framework Mono EtkilendikleriC JavaEtkiledikleriD Dart Swift JavaUygulama diliC PlatformuCross platformLisansCLR is proprietary GPLv3 LGPLv2 GPLOlagan dosya uzantilari cs csxWeb sitesihttps learn microsoft com tr tr dotnet csharp AilesiCC yaygin bir programlama dilidir Microsoft tarafindan gelistirilmis olsa da ECMA ve ISO standartlari altina alinmistir C programlama dilinde bir tam sayi degiskeni 1 artirmak icin degiskenden sonra eki kullanilir C dilinin adi C diliyle Nesne Yonelimli Programlama yapabilme olanagi C with Classes icin eklentiler sagladigi icin C seklindedir Benzer sekilde C diline yeni eklentiler yapilarak C bir adim daha da ileriye goturulmus ve tamamen nesneye yonelik tasarlanmis C dilinin isimlendirilmesinde karakterlerinin birbirlerine yakinlasmis hali ve bir melodi anahtari olan C Major kullanilmistir Bu dilin tasarlanmasina Pascal Delphi derleyicileri ve J programlama dilinin tasarimlariyla bilinen Anders Hejlsberg liderlik etmistir Bircok alanda Java yi kendisine ornek alir ve C da java gibi C ve C kod sozdizimine benzer bir kod yapisindadir NET kutuphanelerini kullanmak amaciyla yazilan programlarin calistigi bilgisayarlarda uyumlu bir kutuphanenin ve yorumlayicinin bulunmasi gereklidir Bu Microsoft un NET Framework u olabilecegi gibi ECMA standartlarina uygun herhangi bir kutuphane ve yorumlayici da olabilir Yaygin diger kutuphanelere ornek olarak ve Mono verilebilir kaynak belirtilmeli Nesne yonelimli programlama kavraminin gelismesine katkida bulunan aktif programlama dillerinden biridir C NET orta seviyeli programlama dillerindendir Yani hem makine diline hem de insan algisina esit seviyededir Buradaki orta ifadesi dilin gucunu degil makine dili ile gunluk konusma diline olan mesafesini gostermektedir Ornegin Visual Basic NET VB NET yuksek seviyeli bir dildir dersek bu dilin insanlarin gunluk yasantilarinda konusma bicimine yakin sekilde yazildigini ifade etmektedir Dolayisiyla VB NET C NET ten daha guclu bir dildir diyemeyiz kaynak belirtilmeli Programin calismasi istenen bilgisayarlarda Framework kurulu olmasi gerekmektedir Windows 7 ve Windows Vista da NET Framework kuruludur kaynak belirtilmeli Tasarim hedefleriECMA tarafindan C dilinin tasarim hedefleri soyle siralanir C basit modern genel amacli nesneye yonelik programlama dili olarak tasarlanmistir Cunku yazilimin saglamligi guvenirligi ve programcilarin uretkenligi onemlidir C yazilim dili guclu tipleme kontrolu dizin sinirlar kontrolu tanimlanmamis degiskenlerin kullanim tespiti ve otomatik artik veri toplama gibi ozelliklerine sahiptir Programci portatifligi ozellikle C ve C dilleri ile tecrubesi olanlar icin cok onemlidir Enternasyonal hale koymak icin verilen destek cok onemlidir C Sunucu ve gomulu sistemler icin tasarlanmistir Bununla birlikte C programlama dili en basit islevseli fonksiyondan isletim sistemini kullanan en teferruatlisina kadar kapsamaktadir C uygulamalari hafiza ve islemci gereksinimleri ile tutumlu olmak uzere tasarlanmistir Buna ragmen C programlama dili performans acisindan C veya Assembly dili ile rekabet etmek icin tasarlanmamistir Merhaba Dunya Konsol uygulamalari yazilmasi icin System isim uzayi eklenir Bu sayede derleyici System dll i kullanmasi gerektigini bilir using System Sinif tanimlamasidir class Program NET calisma zamaninda on tanimli olarak Main fonksiyonunu calistirir static void Main Console sinifi icerisindeki Writeline fonksiyonu calistirilir Console WriteLine Merhaba Dunya Kullanicidan herhangi bir tusa basarak cikmasi icin bir tus okunur Console ReadKey Basit bir hesap makinesi ornegi using System class Program double sayi1 sayi2 cevap string islem static void Main string args Console Write Lutfen ilk tam sayiyi giriniz sayi1 Convert ToDouble Console ReadLine Console Write Lutfen yapacaginiz islemi giriniz islem Console ReadLine Console Write Lutfen ikinci tam sayiyi giriniz sayi2 Convert ToDouble Console ReadLine switch islem case cevap sayi1 sayi2 break case cevap sayi1 sayi2 break case cevap sayi1 sayi2 break case cevap sayi1 sayi2 break Console WriteLine sayi1 ToString islem sayi2 ToString cevap ToString Console ReadLine Surum GecmisiSurum Yayin Tarihi Net Framework Visual StudioC 1 0 Ocak 2002 NET Framework 1 0 Visual Studio NET 2002C 1 1 C 1 2 Nisan 2003 NET Framework 1 1 Visual Studio NET 2003C 2 0 Kasim 2005 NET Framework 2 0 NET Framework 3 0 Visual Studio 2005 Visual Studio 2008C 3 0 Kasim 2007 NET Framework 2 0 NET Framework 3 0 NET Framework 3 5 Visual Studio 2008C 4 0 Nisan 2010 NET Framework 4 Visual Studio 2010C 5 0 Agustos 2012 NET Framework 4 5 Visual Studio 2012 Visual Studio 2013C 6 0 Temmuz 2015 NET Framework 4 6 NET Core 1 0 NET Core 1 1 Visual Studio 2015C 7 0 Mart 2017 NET Framework 4 7 Visual Studio 2017 Surum 15 0C 7 1 Agustos 2017 NET Core 2 0 Visual Studio 2017 Surum 15 3C 7 2 Kasim 2017 Visual Studio 2017 Surum 15 5C 7 3 Mayis 2018 NET Core 2 1 NET Core 2 2 NET Framework 4 8 Visual Studio 2017 Surum 15 7C 8 Eylul 2019 NET Core 3 0 NET Core 3 1 Visual Studio 2019 Surum 16 3 10 Ekim 2022 tarihinde Wayback Machine sitesinde 10 Ekim 2022 tarihinde Wayback Machine sitesinde C 9 Kasim 2020 NET 5 0 Visual Studio 2019 Surum 16 8 10 Ekim 2022 tarihinde Wayback Machine sitesinde C 10 Kasim 2021 NET 6 0 NET 6 0 1 Visual Studio 2022 Surum 17 0 10 Ekim 2022 tarihinde Wayback Machine sitesinde C 11 onizleme Agustos 2022Performans C Sanal Makine ye dayali dillerden biridir direkt yerlesik koda derlenen dillerden daha yavastir Bellek yonetiminde bir atik toplayicisina ihtiyac duyuyor olmasi sistem kaynaklarini C C veya Rust gibi dillere gore daha fazla tukettigi anlamina gelir Sistem kaynaklarinin kullanimina bagli performans dususu olabilir kaynak belirtilmeli Platform NET Microsoft uygulama bonservisi Windows uzerinde gecerlidir Fakat C programlarini Windows Linux veya macOS uzerinde yuruten baska uygulamalar da yer almaktadir Guvenlik C sanal makineye dayali bir dil oldugundan kaynak kodlarinin korunmasi zordur Kaynak kodlari karistirip sifreleyen ek uygulamalar ile guvenlik duzeyi artirirsa da tam olarak koruma saglanmaz kaynak belirtilmeli Ayrica bakinizC tabanli programlama dilleri listesi C Sharp sozdizimiKaynakca 8 Kasim 2021 tarihinde kaynagindan arsivlendi 10 Ekim 2022 tarihinde kaynagindan arsivlendi 22 Subat 2022 tarihinde kaynagindan arsivlendi 10 Ekim 2022 tarihinde kaynagindan arsivlendi Standard ECMA 334 2 Mayis 2020 15 Nisan 2003 tarihinde kaynagindan Erisim tarihi 2 Mayis 2020 2 Mayis 2020 12 Aralik 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Mayis 2020 a b The A Z of Programming Languages C Computerworld 2 Mayis 2020 Erisim tarihi 2 Mayis 2020 olu kirik baglanti 2 Mayis 2020 16 Ocak 2020 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Mayis 2020 NET Framework version history Wikipedia 2 Mayis 2020 27 Aralik 2010 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Mayis 2020 ECMA Specifications for C PDF 2 Mayis 2020 15 Mayis 2020 tarihinde kaynagindan PDF Erisim tarihi 2 Mayis 2020 docs microsoft com 27 Agustos 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Ocak 2020 a b c Visual Studio 2017 15 9 Release Notes docs microsoft com 10 Aralik 2019 tarihinde kaynagindan Erisim tarihi 20 Ocak 2020 8 Eylul 2007 1 Eylul 2012 tarihinde kaynagindan arsivlendi Erisim tarihi 8 Eylul 2007 Dis baglantilarCSharpNedir Com 23 Ekim 2020 tarihinde Wayback Machine sitesinde Turkce Visual C Developer Center 7 Eylul 2008 tarihinde Wayback Machine sitesinde Ingilizce C Programming Guide 13 Mayis 2008 tarihinde Wayback Machine sitesinde Ingilizce