Static Members

İçinde bulunduğu class tan object oluşturulmadan veya hiç bir object e referans olmadan kullanılabilen üyeler static members olarak nitelendirilir.

/*
Örneğin Kayseri adresinde bulunan Erciyes Üniversitesinde ki öğrencilerin
bir class ını oluşturmak istersek adres ve üniversite adı hep aynı kalacak
yalnızca öğrencilere ait bilgiler değişiklik göstereceği için adres ve
üni bilgisi static members olarak tanımlanır. Object üzerinden ulaşılamaz
class a özel tanımlamalardır.
*/

class Student{
        public string Name { get; set; }
        public int Number { get; set; }
        public static string School = "ERÜ";
        public static string Address = "Kayseri";

        public Student(string name, int number)
        {
            this.Name = name;
            this.Number = number;
        }

        public void DisplayDetails(){
            Console.WriteLine($"Adı: {this.Name} / Numara: {this.Number}");
        }

        public static void DisplaySchoolDetails(){
            Console.WriteLine($"Okul Adı: {School} / Okul Adresi: {Address}");
        }
}


var s1 = new Student("Ahmet",001);
var s2 = new Student("Kübra",002);
var s3 = new Student("Adem",003);

Student.DisplaySchoolDetails();
s1.DisplayDetails();
s2.DisplayDetails();
s3.DisplayDetails();

Yukarıdaki bilgilerle bir uygulama yapalım

// Bir cümlenin karakterlerini değiştiren bir uygulama yapalım

static class HelperMethods{
        public static string KarakterDuzelt(string str){
            return str.Replace("ö","Ö")
            .Replace("d","D")
            .Replace("g","ğ")
            .Replace("Ç","ç");
        }
}

string str = "ölÇme ve degerlendirme";
var cikti = HelperMethods.KarakterDuzelt(str);
System.Console.WriteLine(cikti);

Last updated