C# iki genel anahtar sözcük tipini tanımlar: reserved(ayrılmış) ve contextual(bağlamsal).
1) Ayrılmış Anahtar Sözcükler: C#'da 2 si genel niteleyici olmak üzere toplamda 79 tane ayrılmış anahtar sözcük bulunmaktadır. Ayrılmış anahtar sözcükler değişken, sınıf ya da metod olarak kullanılamazlar. Bunlar sadece anahtar sözcük olarak kullanılabilirler. Farklı adlandırmalarla karşılaşabilirsiniz. Bunlar reserved words (ayrılmış sözcük) ya da reserved identifiers (ayrılmış tanımlayıcı).
int if; // Bu şekilde if adında bir değişken tanımlayıp // programı çalıştırırsak şöyle bir hata alırız. Identifier expected; 'if' is a keyword
O yüzden ayrılmış anahtar sözcükleri tanımamız gerekir ki değişken tanımlarken bunları kullanıp hata almayalım. Ayrılmış anahtar sözcükleri aşağıdaki tablodan inceleyebilirsiniz üstelik buraya tıklayarak Microsoft'un sitesinden ayrıntılı olarak inceleyebilirsiniz.
absract | as | base | bool |
brea | 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 | in (generic modifier)* | int | interface |
internal | is | lock | long |
namespace | new | null | object |
operator | out | out (generic modifier)* | override |
params | private | protected | public |
readonly | ref | return | sbyte |
sealed | short | sizeof | stackalloc |
static | string | struct | switch |
this | throw | true | try |
typeof | unit | ulong | unchecked |
unsafe | ushort | using | virtual |
void | volatile | while |
Tablo 1.1: C# Ayrılmış Anahtar Sözcükler
2) Bağlamsal Anahtar Sözcükler: C# 'ın her yeni sürümünde gelen anahtar sözcükler bağlamsal anahtar sözcükler arasına eklenir, bunun nedeni yeni eklenen bir anahtar sözcük daha önce yazılmış bir programda değişken, sınıf ya da metod adı olarak kullanılmış olabilir bu yüzden bunlar bağlamsal anahtar sözcükler arasına eklenir ve değişken, sınıf ya da metod olarak kullanılabilirler. Fakat bağlamsal anahtar sözcükleri bir değişken adı olarak kullanmak karışıklık yaratacağı için yaptığınız uygulama kötü bir uygulama olarak değerlendirilebilir.
int add; // add bir bağlamsal anahtar sözcüktür ve // değişken adı olarak kullanılabilir. int sayi = 2; // sayi adında bir tamsayı değişken tanımlıyoruz ve // değerini 2 yapıyoruz. int sonuc; // değeri verilmemiş sonuc adında bir tamsayı değişkeni // tanımlıyoruz. add = 13; // add değişkenin değerini 13 yapıyoruz. sonuc = sayi + add; Console.WriteLine(sonuc); Console.Read();
Yukarıdaki kodları console application ile çalıştırdığımızda herhangi bir hata almadığımızı ve çıktının 15 olduğunu görmekteyiz.(1. derste console application ile ilk uygulamamızı yapmıştık kaçıranlar buradan girip izleyebilirler)
Add bağlamsal sözcüğünü değişken adı olarak tanımladık ve herhangi bir hata almadık buna rağmen kullanılması karmaşıklığa yol açacağı için önerilmez. Her bir bağlamsal sözcüğün anlamına uygun bir kullanımı vardır. Mesela add bağlamsal sözcüğü ekleme anlamına gelir. Aşağıdaki tabloda tüm bağlamsal anahtar sözcükleri görebilirsiniz veya kullanım alanlarını buraya tıklayarak inceleyebilirsiniz.
add | alias | ascending | async |
await | descending | dynamic | from |
get | global | group | into |
join | let | orderby | partial (type) |
partial(method) | remove | select | set |
value | var | where | yield |
Tablo 1.2: C# Bağlamsal Anahtar Sözcükler
Bir makalenin daha sonuna geldik, biraz uzun oldu ama söyleyecek çok şey olduğundan:-) Görsel programlamaya tam olarak geçmeden önce temellerimizi sağlam atmalıyız diye düşünüyorum.
Hepinize iyi günler sonraki derste görüşmek üzere.
KAYNAKLAR
http://msdn.microsoft.com/en-us/library/x53a06bb.aspx