30 Mayıs 2014 Cuma

C# const ve readonly...

Merhaba, birazdan size C# ta bazı zamanlarda gerek duyduğumuz değeri değişmeyen değişkenler olan readonly ve const anahtar kelimeleri hakkında bilgi vereceğim. const keyword'unu açıklarsak Türkçe karşılığı sabit anlamına gelen bu anahtar kelime ile tanımlanan değişkenin değeri tanımlandığı yerde verilmek zorundadır. Aksi takdirde hata ile karşılaşırız. Bu değişkenin tanımlandıktan sonra değeri bir daha değiştirilemeyecektir. Bir örnekle açıklarsak;


Görüldüğü üzere tanımladığımız bu değişkenin değerini yeniden vermeye imkan tanınmıyor ve tanımlı olması zorunlu bir değişken mesajı alıyoruz. Bu değişkenin program içinde görülebildiği her alandaki değeri artık 5 tir.

Şimdi readonly keyword hakkında bilgi verelim. Sadece okunabilir anlamına gelen bu anahtar kelimenin const anahtar kelimesinden farklı olarak; bu anahtar kelimeye sahip olan değişkenin tanımlama sırasında değer ataması zorunlu değildir. Fakat bu değişkene değer verildiği andan itibaren yeni bir değer ataması yapamayız. Artık bu değişkenin değeri const keywordunde olduğu gibi değişmez olur. Readonly keywordu alan bir değişkenin değer ataması genelde constructor(yapıcı)'da tanımlanır. Yine bir örneğini gösterirsek;




      
Yukarıdaki örneğimizde gördüğünüz gibi iki adet kullanabileceğimiz constructor'umuz var. Gerekliliğe göre istediğimiz yapıcıyı çalıştırıp örneğini yaratabiliriz fakat fark olarak constructor içinde değer ataması yapılan readonly anahtar kelimesine sahip olan değişkene olan değer atamaları var. Bunlar yaratılan örneğe göre farklılık gösterecektir. Burada örnek yaratıldığında bu değişken artık o değere sahip olacaktır ve artık bir daha değeri değiştirilemeyecektir. Örneğin bu değeri değiştirmeye yönelik bir fonksiyon oluşturursak;



Görüldüğü gibi buna izin olmayacaktır. Bu örnekle beraber readonly'nin genel kullanım şekliyle ilgili bilgiye sahip olabilir ve çeşitli fikirlerle de çeşitli şekilde kullanabiliriz.

Bu konuda anlatacaklarım bu kadar, iyi günler dilerim.

Hiç yorum yok:

Yorum Gönder