Yerel Değişkenlerin Faaliyet Alanları

Bildirilmiş bir değişkeni belirli bir program parçasında kullanabiliriz. Bir değişkenin kullanılabildiği kullanım alanına o değişkenin Faaliyet Alanı (scope) denir.
Bir metodun bir ana bloğu olmak zorundadır. Fakat o ana bloğun içinde biz istediğimiz kadar iç içe ve ayrık blok açabiliriz.
C#’ta yerel değişkenler bildirim yerinden sonra bildirildikleri blokta ve o bloğun kapsadığı bloklarda kullanılabilir. Fakat blok dışında kullanılamazlar. Örneğin:

Ancak ayrık bloklarda aynı isimli değişkenler bildirilebilir. Örneğin:

Örneğin; iki farklı metodda aynı isimde yerel değişkenlerin bulunmasında bir sakınca yoktur. Şüphesiz farklı bloklardaki aynı isimli değişkenler aslında farklı değişkenlerdir.

Sabitler
Program içerisinde sonradan yazdığımız sayılara Sabit (literal) denir. Yalnızca değişkenlerin değil, sabitlerinde türleri vardır. Bir sabite baktığımızda onun türünü belirleyebilmemiz gerekir. Sabit kuralları şöyledir:
1. Sayı nokta içermiyorsa, sayının sonunda herhangi bir ek yoksa sayı; int, uint, long, ulong türlerinden hangisinin sınırları içerisinde ilk kez kalıyorsa sayı o türdendir. ulong sınırınıda aşmış olan sabitler geçersizdir.
2. Sayı nokta içermiyorsa ve sayının sonunda küçük harf ya da büyük harf “u” varsa, sayı sırasıyla uint, uint türlerinin hangisinin sınırları içerisinde ilk kez kalıyorsa, sabit o türdendir. ulong sınırını aşmış olan sabitler geçersizdir. Örneğin:
0U -> uint
100u -> uint
5000000000U -> ulong

Metodlar
C# saf bir programla dilidir. Bu nedenle metodlar sınıf içinde bulundurulmalıdır.

[erişim belirleyicisi][static]([panel bildirimi])

Erişim belirleyicisi şunlardan biri olabilir:
Erişim belirleyicisi hiç yazılmamışsa private olarak kabul edilir. Bir metod static olabilir ya da olmayabilir. Biz şimdilik metodları static olarak alacağız.
Metod parametre değişkenlerine sahip olabilir ya da olmayabilir. Metodun çalışması bittiğinde, metodun ilettiği değere Geri dönüş değeri denir. Örneğin:

Burada Test() metodu çağrılmıştır. Geri dönüş değeri ikiyle çarpılıp a’ya alınmıştır.

“return” anahtar sözcüğünün iki işlevi vardır: Metodu sonlandırmak ve geri dönüş değerini oluşturmak.

Metodun geri dönüş değeri yerine void yerleştirilirse, geri dönüş değeri olmadığı anlaşılır. void metodlarda return anahtar sözcüğü kullanılabilir fakat yanına bir ifade yazılamaz. void metodlarda return kullanılmak zorunda değildir. Eğer return kullanılmamışsa akış, ana bloğu bitirdiğinde metod sonlanır. Şüphesiz void bir metod, geri dönüş değerinin kullanıldığı bir ifade içerisinde kullanılamaz. Yani void metodunu biz yalnızca çağırabiliriz.
C#’ta bir metodun geri dönüş değeri void değilse, “return” kullanılmak zorundadır. Üstelik metodun her olası akışında “return” anahtar sözcüğünün görülmesi gerekir. Aksi halde error oluşur.
Metodların geri dönüş değerleri kullanılmak zorunda değildir. Yani geri dönüş değerleri ekstra bir bilgidir. Bir metodun geri dönüş değeri var diye bizim ondan faydalanmamız zorunlu değildir. Biz yine metodu yalnızca çağırıp bırakabilirz.

Not: Atama işleminde atanan değerin türü ile atanılan değişkenin türü belirli koşullar altında farklı olabilir. Bu konu ileride ele alıcaktır. Fakat bu konu ele alınana kadar biz bunları aynı türden tutmaya özen gösterecğiz.

Metodların geri dönüş değerleri gerçici değişken yoluyla kullanılmaktadır. “return” işlemi ile derleyici metodun geri dönüş değeri türünden geçici bir değişken yaratır, “return” ifadesini bu geçici değişkene atar, sonra işlemlerde bu gerçici değişkeni kullanır ve nihayet bu geçici değişkeni çağırma işleminin yapıldığı ifade bittiğinde yok eder. Yani metodun geri dönüş değerinin türü aslında yaratılacak gerçici değişkenin türünü belirtmektedir. “return” işlemide aslında gizli bir atama işlemidir. Örneğin:

Bu işlemlerle aslında şu yapılmaktadır:

O halde void bir metodda aslında “geri dönüş değeri için geçici değişken yaratılmayan” bir metoddur.

Leave a Reply

Site Footer