using System;Â
namespace StructSample1
{Â Â Â Â Â Â Â Â Â
     struct Zaman
     {
          private int saat,dakika,saniye;
          private string kosucuAdi;            Â
          /* Yapı için parametreli bir constructor metod tanımladık. Yapı içinde yer alan kosucuAdi,saat,dakika,saniye alanlarına ilk değerlerin atandığına dikkat edelim. Bunları atamassak derleyici hatası alırız. */
          public Zaman(string k,int s,int d,int sn)
          {
               kosucuAdi =k;
               saat =s;
               dakika =d;
               saniye =sn;
          }Â
          /* Bir dizi özellik tanımlayarak private olarak tanımladığımız asıl alanların kullanımını kolaylaştırıyoruz. */
          public string Kosucu
          {
               get
               {
                    return kosucuAdi;
               }
               set
               {
                    kosucuAdi =value;
               }
          }
          public string Saat
          {
               get
               {
                    return saat;
               }
               set
               {
                    saat =value;
               }
          }
          public string Dakika
          {
               get
               {
                    return dakika;
               }
               set
               {
                    dakika =value;
               }
          }
          public string Saniye
          {
               get
               {
                    return saniye;
               }
               set
               {
                    saniye =value;
               }
          }
     }Â
     class Class1
     {              Â
          static void Main (string[] args)
          {
               /* Zaman yapısı içinde kendi yazdığımız parametreli constuructorlar ile Zaman yapısı örnekleri oluÅŸturuyoruz. Yaptığımız bu tanımlamarın ardından belleÄŸin stack bölgesinde derhal 4 adet deÄŸiÅŸken oluÅŸturulur ve deÄŸerleri atanır. Yani kosucuAdi,saat,dakika,saniye isimli private olarak tanımladığımız alanlar bellekte stack bölgesinde oluÅŸturulur ve atadığımız deÄŸerleri alırlar. Bu oluÅŸan veri dizisinin adıda Zaman yapısı tipinde olan Baslangic ve Bitis deÄŸiÅŸkenleridir. */ Â

 Â
               //
                    Zaman Baslangic=new Zaman (“Burak”,1,15,23);
                    Zaman Bitis=new Zaman (“Burak”,2,20,25);Â
                                  /* Zaman yapısı içinde tanımladığımız özelliklere erişip işlem yapıyoruz. Burada elbette zamanları birbirinden bu şekilde çıkarmak matematiksel olarak bir cinayet. Ancak amacımız yapıların kullanımını anlamak. Bu satırlarda yapı içindeki özelliklerimizin değerlerine erişiyor ve bunların değerleri ile sembolik işlemler yapıyoruz */
                    int saatFark=Bitis.Saat-Baslangic.Saat;
                    int dakikaFark=Bitis.Dakika-Baslangic.Dakika;
                    int saniyeFark=Bitis.Saniye-Baslangic.Saniye;Â
                    Console.WriteLine (“Fark {0} saat, {1} dakika, {2} saniye”,saatFark,dakikaFark,saniyeFark);                                   Â
           }
     }
}Â
Yorumlar
Yorum Yok
Yorumunuzu Ekleyin
Yorum eklemek için giris yapmalısınız.