Const vs Salt Okunur vs Statik Salt Okunur C#

Paylaş :

Statik, Salt Okunur ve Sabit, değişkenleri bildirmek için kullanılan yaygın anahtar sözcüklerdir. Ancak bu üç anahtar kelime arasında bazı kafa karıştırıcı senaryolar var. Bu anahtar kelimelerin küçük farklılıkları vardır, ancak bu farklılıklar, ana göre hangi anahtar kelimelerin daha iyi olduğunu seçmek için daha iyi rehberlik sağlayacaktır. Bugün bu anahtar kelimeleri tartışmayı ve örnekler kullanarak anlamaya çalışacağım.

Const vs Salt Okunur vs Statik Salt Okunur C#

1. Sabit

Const değişkenleri derleme zamanı sabitidir. Derleme zamanında const değişkeni için bir değer tanımlamamız gerekiyor. Bu anahtar kelimenin ana özelliği, beyanı yaptığımızda değeri olması gerektiğidir. const değişkeninin değerini bildirdikten sonra onu değiştiremedik. Bu nedenle const değişkeninin bildirim işlemini yaparken value tanımlamamız gerekiyor ve bu zorunludur. Aksi takdirde hatayı alırız.

Ayrıca, ilkel türlerin (örneğin, int, string, double) bildirim yaparken yalnızca const anahtar sözcüğünü kullanmasına izin verilir. Ayrıca, const değişkenleri varsayılan olarak statiktir. Ayrıca const değişkenine erişmek için sınıfın bir örneğini kullanmamız gerekmez. const değişkenine erişmek için sınıf adını kullanabiliriz.

Şu örneğe bakalım,

namespace ConstantVSStaticVSReadonly.Constant;

public class ConstantVariable
{
    const string myVariable = "Constant variable";
}

Derleme zamanı sabit değişkenini tanımlamak için const anahtar sözcüğünü kullanmanın doğru yolu budur. Burada const değişkenine bildirimde değer atadığımız için derlemeden önce değer sağlayacaktır.

Şu örneğe bakalım,

namespace ConstantVSStaticVSReadonly.Constant;

public class ConstantVariableException
{ 
    const string myVariable;
    myVariable = "Wrong way to define compile time constant variable";
}

Bu, derleme zamanında istisnayı atar çünkü derlemeden önce const değişkeni için değer atamamız gerekir.

Ayrıca, tüm programda bildirimden sonra const değişkenini değiştiremedik. Sonra istisnayı derleme zamanında atar.

const ne zaman kullanılır

Const bir derleme zamanı sabitidir ve değişkenler ilkel türler olduğunda ve değerleri asla değişmeyecekse const anahtar sözcüğünü kullanabiliriz. const değişkeninin değerini değiştirirsek, projeyi yeniden derlememiz gerekir.

2. Salt okunur

Salt okunur anahtar sözcüğü, çalışma zamanında, ancak yalnızca statik olmayan oluşturucu aracılığıyla değiştirilebilen veya atanabilen bir değere sahiptir. Bir yöntem veya statik yöntem bile yoktur. Salt okunur, çalışma zamanı sabit değişkenlerini tanımlamak için kullanılır.

Şu örneğe bakalım,

namespace ConstantVSStaticVSReadonly.Readonly;

public class ReadonlyVariable
{
    //first example
    public readonly string newVariable = "Readonly variable";
    
}

Salt okunur değişkeni kullanmanın doğru yolu budur. Değişkeni bildirirken bir değer atayabiliriz. Ancak const değişkeni gibi zorunlu değildir.

Şu örneğe bakalım,

namespace ConstantVSStaticVSReadonly.Readonly;

public class ReadonlyVaraible
{
    //second example
    public readonly string myVariable;

    public ReadonlyVaraible()
    {
        myVariable = "Readonly variable";
    }
}


Bu aynı zamanda salt okunur olanı kullanmanın doğru bir yoludur. Yukarıdaki örnekte olduğu gibi bildirimden sonra statik olmayan kurucu içinde değer tanımlayabiliriz.

Şu örneğe bakalım,

namespace ConstantVSStaticVSReadonly.Readonly;

public class ReadOnlyVariableException
{
    public readonly string newVaraible = "Readonly varaible";
    
    //this will throw the exception 
    public void ChangeValue()
    {
        newVaraible = "New Readonly variable";
    }
}

Çalışma zamanı sabit değişkenini tanımlamak için salt okunur anahtar sözcüğünü kullanmanın yanlış yolu budur. Çünkü statik olmayan veya statik olmayan yöntemin içine değişkenler atarsak, istisna atar.
Salt okunur anahtar sözcük, değişkenin derleme zamanında veya çalışma zamanında başlatılmasına izin verirken, const derleme zamanında başlatılır. Ayrıca, salt okunur değişkene erişmek için sınıfın bir örneğini kullanmalıyız.

Salt okunur değişken ne zaman kullanılır?

Sınıf inşası sırasında değişkeni başlatmamız gerektiğinde ve daha sonra asla değiştirilmeyeceğimizde salt okunur bir değişken kullanabiliriz.


3. Statik Salt Okunur

Statik anahtar kelime, esas olarak statik üyeyi bildirmek için kullanılır. Bir değişken için static anahtar sözcüğünü kullandığımızda buna statik değişken denir ve bunları belleği verimli bir şekilde yönetmek için kullanabiliriz.

Statik Salt Okunur türü bir değişkenin değeri, çalışma zamanında veya derleme zamanında ayarlanabilir ve ardından çalışma zamanında değiştirilebilir. Ancak, bu değişkenin değeri yalnızca statik oluşturucuda değiştirilebilir ve statik salt okunur değişkenlerin değerini değiştirmek için statik olmayan veya statik yöntemi kullanamaz.

Şu örneğe bakalım,

namespace ConstantVSStaticVSReadonly.StaticReadOnly;

public class StaticReadonlyVariable
{
    public static readonly string firstVariable = "First static readonly variable";
    public static readonly string secondVariable;

    static StaticReadonlyVariable()
    {
        secondVariable = "Second static readonly varaible";
    }
   
}

Bu, statik salt okunur değişkeni kullanmanın doğru bir yoludur. Burada, statik salt okunur değişkeni bildiririz ve ardından statik kurucunun içine değer atarız. ve ayrıca statik salt okunur değişkeni bildirirken bir değer atayabiliriz.

Şu örneğe bakalım,

namespace ConstantVSStaticVSReadonly.StaticReadOnly;

public class StaticReadonlyVariableException
{
    public static readonly string newVariable;

    public StaticReadonlyVariable()
    {
        newVariable = "This will throw exception";
    }
}

Ancak, statik olmayan yapıcı veya yöntem içinde bir değer atarsak, istisnayı atar. Çünkü salt okunur anahtar kelime ile statik kullanıyoruz. O zaman static üye ve yapıcı kullanmalıyız. Dolayısıyla, bir statik kurucu, statik salt okunur değişkenlere değer atamak için kullanabileceğimiz bir yoldur.


Statik salt okunur değişken ne zaman kullanılır?

Statik salt okunur değişkenler const değişkenlerine benzer ve bunları tüm örneklerle paylaşmamız gerektiğinde kullanabiliriz. Çünkü, başka bir derlemedeki bir alanın değeri değiştirilirse, yeniden derlemeye gerek kalmadan derleme yüklenir yüklenmez değişiklikler görünür olacaktır.

Özet

Bu makalede, şu üç anahtar kelimeyi ele aldık: const, salt okunur ve statik salt okunurdur ve uygun örneklerle. Ayrıca const, salt okunur ve statik salt okunur anahtar sözcükler arasındaki benzerlikleri ve farklılıkları tartışın. Bu üç anahtar kelimenin farklı anlara göre önemi var ve bu anahtar kelimeyi diğerlerinden daha iyi seçemedik çünkü bu üç anahtar kelimenin farklı kullanımları ve önemi var.


Hesabınızı yönetmek için giriş yapın

veya