İçeriğe atla

C Sharp sözdizimi

Kontrol Edilmiş
Temel madde: C#

C# sözdizimi, kodların nasıl yazılacağını ve yorumlanması gerektiğini tanımlayan kurallar kümesidir. Bu kurallar, C# programlarının derleyici tarafından doğru bir şekilde okunup çalıştırılmasını sağlar. C# sözdizimi, tıpkı diğer programlama dilleri gibi, değişkenlerin tanımlanmasından, döngülerin ve koşullu ifadelerin yazılmasına kadar, programın yapısını ve işleyişini belirleyen temel unsurları içerir.

Temel Bilgiler (Basics)

Tanımlayıcı (Identifier)

C# ' ta bir tanımlayıcı (Identifier), bir metoda, değişkene veya kullanıcı tarafından tanımlanan herhangi başka bir öğeye atanan isimdir.

Değişkenler,

  • "_" ile
  • Büyük ve küçük harf ile başlayabilir.
  • Bir karakterden birkaç karaktere değişen uzunluklarda olabilir

Fakat;

  • Bir numerik karakter ile başlayamaz.
  • Anahtar kelime (keyword) hariç, sembol ile başlayamaz. [Anahtar Kelimeler (Keywords)]
  • 511 karakterden fazla karaktere sahip olamaz.

Anahtar kelimeler (Keywords)

abstract as base bool break byte case catch
char checked class const continue decimal default delegate
do double else enum event explicit extern false
finally fixed float for foreach goto if implicit
in int interface internal is lock long namespace
new null object operator out override params private
protected public readonly ref return sbyte sealed short
sizeof stackalloc static string struct switch this throw
true try typeof uint ulong unchecked unsafe ushort
using virtual void volatile while - - -

Bağlamsal anahtar kelime, kodda belirli bir anlam sağlamak için kullanılan ancak C# dilinde rezerve edilmiş bir sözcük olmayan kelimedir. Bazı bağlamsal anahtar kelimeler, örneğin partial ve where, birden fazla bağlamda özel anlamlara sahiptir. Aşağıdaki C# anahtar kelimeleri bağlamsaldır:

add and alias ascending
args async await by
descending dynamic equals from
get global group init
into join let managed
nameof nint not notnull
nuint on or orderby
partial record remove required
select set unmanaged value
var when where with
yield - - -

Anahtar kelimeler, değişken isimlendirirken kullanılamayan ayrılmış sözcüklerdir. Ancak, kullanılmak istenilen kelimenin önüne @ (kuyruklu a) koyarak, tanımlayıcı hâle getirilebilir.

string @out; //Şimdi olağan tanımlayıcı kelime olarak kullanılabilir.

Not: out günümüzde hala kullanılabilen bir anahtar kelimedir.

Değişkenler (Variables)

Değişkenler, değerlerle ilişkilendirilmiş tanımlayıcılardır. Değişkenin türü ve adı yazılarak bildirilirler ve isteğe bağlı olarak aynı deyim içinde ilk değerleri atanabilir.

Tanımlama (Declare)

int degiskenim; // 'int' türünde 'degiskenim' adında başlangıç değeri atanmamış bir değişken tanımlama

Atama (Initialize)

int degiskenim; // Atama yapılmamış bir değişken bildirme
degiskenim = 35; // Değişkene bir değer atama

Bildirim ve Atama (Declare & Initialize)

int degiskenim = 35; // Aynı zamanda değişkenin bildirimi ve atanması

Büyük ve küçük harfe duyarlıdır
Aynı isimde de olsa, değişkenler büyük ve küçük harf farkı olduğunda farklı değişkenler olarak kullanılır ve değer tutabilir.

 string book = "Suç ve Ceza";
 string Book = "Savaş ve Barış";

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">BASIC</span> programlamaya yeni başlayanlar için kullanımı kolay anlaşılır bir programlama dili

BASIC 1964'te John George Kemeny ve Thomas Eugene Kurtz tarafından New Hampshire, ABD'de icat edilmiş, günümüzde de çeşitli türevleri kullanılmakta olan yüksek düzey bir programlama dili. Farklı türevleri birçok işletim sisteminin parçası olarak sunulmuştur.

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

Programlama dillerinde işaretçi, bellek adresi tutmak için tasarlanmış bir türdür.

<span class="mw-page-title-main">İntegral</span> fonksiyon eğrisinin altında kalan alan

İntegral veya tümlev, toplama işleminin sürekli bir aralıkta alınan hâlidir. Türev ile birlikte kalkülüsün temelini oluşturan iki işlemden birisidir. Kalkülüsün temel teoremi sayesinde aynı zamanda türevin ters işlemidir.

<span class="mw-page-title-main">Fince</span> Sondan eklemeli Finlandiyanın resmi dili

Fince (

Eğitimsel ölçme, genel anlamda ölçme, bir olguya anlamlı sayı ya da semboller atama işlemidir. Eğitsel ölçme ise bu olguların öğrenme ürün ya da sürecine göre kazanımları kapsar. Eğitimsel ölçmelerin amacı ölçülmesi amaçlanan öğrenme yapılarının görgül kestirimlerini sağlamaktır. Bu amaca yönelik olarak değişik ölçme modelleri geliştirilmiştir.

Bilgisayar biliminde, Lexer sözcüksel analiz gerçekleştiren program parçasının adıdır. Türkçede direkt çevirisinin yapılabileceği doğru bir kelime olmayan terimlerden biri denebilir. Sözcüksel analiz kaynak kod üstünde gerçekleştirilen bir eylemdir. Sözcüksel analiz sonucunca kaynak kodun program tarafından incelenip ayrıştırılarak anahtar kelime, operatör ya da tanımlayıcılar gibi her bir ögesinin jeton olarak temsili elde edilir.

<span class="mw-page-title-main">Ayırıcı im</span>

Ayırıcı im, fonetik işaret veya diyakritik; telaffuz, ton ve diğer ayırıcı unsurları belirtmek için gliflere eklenen imdir. Örneğin Latin harflerine geçiş döneminde Türkçedeki ötümsüz artdişyuvasıl sürtünmeli ünsüz sesini karşılamak için yeni arayışlara gidilmiş ve mevcut S harfine sedil eklenerek Ş harfi elde edilmiştir. O > Ö veya A > Â ya da Y > Ý gibi harflerde ayırıcı imlere örnekler görülebilir.

Verilog elektronik sistemleri modellemek için kullanılan bir donanım tanımlama dilidir. Verilog analog, sayısal ve karışık işaretli devrelerin tasarımını, doğrulanmasını ve yürütülmesini değişik düzeylerde desteklemektedir. Verilog dilinin tasarımcıları dilin C programlama diline yakın bir söz dizimine sahip olmasını istemişlerdir. Böylece bu dile yatkın olan mühendislerin dili kolayca kullanmasını amaçlamışlardır. Dil küçük/büyük harf duyarlılığına sahiptir ve temel denetim akışının “if” ve “while” gibi anahtar kelimeleri, C'ye benzemektedir. Verilog birkaç temel yönde C’den farklıdır. Verilog bir blok kodu tanımlamak için kıvrık parantezler yerine Begin/End kullanmaktadır. Verilog 95 ve 2001 işaretçi veya yinelemeli alt yordamlar yapılarına sahip değildir fakat SystemVerilog bu özelliklere sahiptir. Son olarak Donanım Tanımlama Dilleri için çok önemli olan zaman kavramı C dilinde bulunmamaktadır. Verilog geleneksel programlama dilleri gibi basamaklarını tam olarak ardışık bir şekilde yürütmez. Verilog tasarımı modüller arasında bir hiyerarşi bulundurur. Modüller bir takım giriş, çıkış ve çift yönlü portlar şeklinde tanımlanır. Bir modül içinde yazmaç ve kablo listesi bulunur. Eş zamanlı ve ardışık ifadeler modülün davranışını; portların, kabloların ve yazmaçların arasındaki ilişki ile tanımlar. Ardışık ifadeler bir begin/end bloğuna konur ve blokla beraber ardışık olarak yürütülür. Tüm eş zamanlı ifadeler ve begin/end blokları koşut olarak yürütülür. Bir modül aynı zamanda diğer bir modülün bir veya daha çok örneğini içererek bir alt-davranışı belirtebilir. Eğer tasarımdaki modüller sadece sentezlenebilir ifadeler içeriyorsa bu tasarımın donanımda gerçekleştirilecek temel bileşenlerini ve bağlantılarını içeren netlist, yazılım sayesinde sentezlenebilir. Elde edilen bu netlist bir tümleşik devreyi tanımlamak amacıyla kullanılabilir.

Java platformu dillerinden olan BeanShell, kendi sözdiziminin yanı sıra Java programlama dili sözdiziminin büyük bir bölümünü desteklemesi nedeniyle, Java programlama dilinin komut kabuğu olarak da görülebilir. BeanShell'in bu özelliği, küçük Java kod parçalarının denenmesinde ve Java platformu için yazılmış sınıf dosyalarının yüklenip, birim sınamalarının yapılmasında, düzenle-derle-çalıştır döngüsünü kısaltması sayesinde, büyük kolaylık sağlar.

Ki-kare testi veya χ² testi istatistik bilimi içinde bir sıra değişik problemlerde kullanılan bazıları parametrik olmayan sınama ve diğerleri parametrik sınama yöntemidir. Bu çeşit istatistiksel sınamalarda test istatistiği için "örnekleme dağılımı", sıfır hipotez gerçek olursa ki-kare dağılımı gösterir veya sıfır hipotez "asimptotik olarak gerçek" olursa, eğer sıfır hipotez gerçekse ve eğer örnekleme hacmi istenilen kadar yeterli olarak büyük ise bir ki-kare dağılımına çok yakın olarak yaklaşım gösterir.

<span class="mw-page-title-main">OpenMP</span>

OpenMP; Solaris, IBM AIX, HP-UX, GNU/Linux, MAC OS X ve Windows işletim sistemleri üzerinde çoğu işlemci mimarisi üzerinde Fortran, C++, C programlama dillerinde çoklu platform paylaşımlı bellek çoklu işlemeyi destekleyen bir uygulama geliştirme arayüzüdür, yani bir API'dir. OpenMP derleyici yönergelerinin kütüphane rutinlerini ve ortam değişkenlerinin çalışma zamanı davranışını etkileyen bir kümesini içerir.

<span class="mw-page-title-main">While döngüsü</span> programlama dillerinde yaygın bir döngü

While döngüsü, programlama dillerinin neredeyse tamamında var olan, yaygın kullanılan bir döngüdür. Önceden belirlenmiş bir koşul bozulana kadar devam eder. Koşulun her kontrolünden sonra döngü içerisindeki işlemler bir kez yapılır. Koşul bozulduktan sonraki ilk kontrolde döngü terk edilir. Diğer döngülerde olduğu gibi, koşulun bozulmasını beklemeden de döngüyü kırarak terk edebilmek mümkündür.

<span class="mw-page-title-main">Termodinamik durum</span>

Termodinamikte, sistemin termodinamik durumu, durum fonksiyonları olarak bilinen uygun değişken değerleriyle tam olarak tanımlanabilir. Termodinamik değişkenlerinin değerleri bir sistem için bir kere belirlendiğinde, termodinamiğin bütün özelliklerinin değerleri eşsiz bir şekilde belirlenmiş olur. Genellikle, termodinamik durum termodinamik dengenin biri olarak varsayılır. Yani, bu durum bir sistemin sadece belli bir süredeki durumu değil, durum süresiz uzunlukta aynı ve değişmezdir.

<span class="mw-page-title-main">Ayrıştırıcı (yazılım)</span>

Ayrıştırıcı, girdi verilerini alır ve girdinin yapısal bir temsilini vererek, süreçte doğru sözdizimini kontrol eden bir veri yapısı oluşturan bir yazılım bileşenidir. Ayrıştırma öncesinde veya sonrasında başka adımlar izlenebilir veya bunlar tek bir adımda birleştirilebilir. Ayrıştırıcı, genelde girilen karakter dizisinden belirteçler oluşturan ayrı bir sözcük tabanlı analiz motorunu takip eder. Ayrıştırıcılar elle programlanabilir veya bir ayrıştırıcı üreteci tarafından otomatik olarak veya yarı otomatik olarak oluşturulabilir. Ayrıştırma, biçimlendirilmiş çıktı üretimlerini tek bir şablonda tamamlama görevi görür. Bunlar, farklı etki alanlarına uygulanabilir, ancak bir derleyicinin girdi ve çıktı aşamaları gibi genellikle bir arada sunulur.

<span class="mw-page-title-main">Tcsh</span>

tcsh C kabuğuna (csh) temelli ve geriye dönük uyumlu bir Unix kabuğudur.

Affine şifreleme veya Doğrusal şifreleme, bir tür monoalfabetik ikame şifresi olup, bir alfabedeki her harf sayısal eşdeğeriyle eşleştirilir, basit bir matematiksel fonksiyon kullanılarak şifrelenir ve tekrar bir harfe dönüştürülür. Kullanılan formül, her harfin başka bir harfe şifrelendiği ve tekrar geri döndüğü anlamına gelir, yani şifre esasen hangi harfin hangisine gideceğini düzenleyen bir kurala sahip standart bir ikame şifresidir. Bu nedenle, tüm ikame şifrelerinin zayıflıklarına sahiptir. Her harf (ax + b) mod 26 fonksiyonu ile şifrelenir, burada b kaydırmanın büyüklüğüdür.