C#'ta const ve readonly keywordleri arasındaki temel fark, const'ın atama sırasında tanımlanması gerekirken, readonly alanının run-time da tanımlanabilmesidir.
Const'lar dolaylı olarak statiktir, readonly değerlerin ise statik olması gerekmez.
Ayrıca, Assemliede çalışırken const ve readonly farklı davranışlara sahiptir. Constlar, kendisini kullanan her assemblyde kopyalanırken, readonly alanlar assemblyler arasında paylaşılır.
Assemblies
Örneğin, A assembly ve B assembly isminde iki adet assemblye sahip olduğumuzu düşünelim
A assembly constantı tanımlasın
Hem A assembly hem de B assembly aynı constantı kullanır.
Yukarıdaki constant 15 olarak değiştirirsek, her iki assemblyde de yeniden re-compile gerekir.
Öte yandan, statik readonly alanla, yalnızca A assembly yeniden re-compile yeterlidir.
En uygun kullanım
Hiç yorum yok:
Yorum Gönder