Yapı (Struct) Tanımlama

Enum Yapısını Kullanma

Yapıları tanımalamak için “struct” anahtar sözcüğünü kullanırız. Bir yapının genel tanımlanma şekli aşağıdaki gibidir.

struct yapi-ismi {
     yapi-elemalari-listesi
}

Örnek:

struct Ogrenci {
     int okulNo;
     string ad, soyad;
}

Örnek:

struct Ogrenci { // Bu bölüm içerisinde integer ve string tipinde üç tane değişken bulunduran bir yapı (struct) tanımladık.
     public int okulNo;
     public string ad, soyad;
}

class Program {
     static void Main(string[] args) {
          // Öğrenci isimli yapıdan yenOgrenci isimli yeni bir nesne oluşturduk.
          Ogrenci yeniOgrenci = new Ogrenci(); 
          
          // Bu bölümde yeni oluşturduğumuz nesneye klavyeden değerler atadık.
          Console.Write("Okul NO Giriniz: ");
          yeniOgrenci.okulNo = int.Parse(Console.ReadLine().ToString());
          Console.Write("Ad Giriniz: ");
          yeniOgrenci.ad = Console.ReadLine().ToString();
          Console.Write("Soyad Giriniz: ");
          yeniOgrenci.soyad = Console.ReadLine().ToString();

          Console.WriteLine("------------");
          Console.WriteLine("Yeni Öğrecni Bilgileri");
          
          // Bu bölümde ise atadığımız değerleri ekrana yazdırdık.
          Console.WriteLine("Okul No: {0}", yeniOgrenci.okulNo);
          Console.WriteLine("Adı: {0}", yeniOgrenci.ad);
          Console.WriteLine("Soyadı: {0}", yeniOgrenci.soyad);
          
          Console.ReadKey();
     }
}

Yapılar da sınıflar gibi metotlar, değişkenler, özellikler, yapıcılar vb. içerebilir.

struct Dikdortgen {
     public int alanHesapla(int kisaKenar, int uzunKenar) {
          int alan = kisaKenar * uzunKenar;
          return alan;
     }
}

struct Kare {
     public int alanHesapla(int kenar) {
          int alan = kenar * kenar;
          return alan;
     }
}

class Program {
     static void Main(string[] args) {
          Dikdortgen dikdortgenAlan = new Dikdortgen();
          Console.WriteLine("Dikdörtgenin Alanı: {0}", dikdortgenAlan.alanHesapla(5, 6));

          Kare kareAlan = new Kare();
          Console.WriteLine("Karenin Alanı: {0}", kareAlan.alanHesapla(8));
          Console.ReadKey();
     }
}

Dikdortgen ve Kare adında iki tane yapı (struct) tanımladık ve yapıalr içinde alan hesabı yapan metot oluşturduk. Program içinde bu oluşturduğumuz yapılardan yeni nesneler türettiğimiz zaman bu yeni nesneler üzerinden metotlara erişim sağlayabilmemiz için public türünde tanımlanmaları gerekir.

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.