Techturk.NET Makaleler & Kod Parçaları & Hazır Projeler & Programlar - Bilişim dünyasından bir parça  Üye Ol  Şifremi Unuttum

 Struct ve Class Farkları
 20.11.2009 tarihinde , YavuZ MercaN tarafından yazılmış ve 120 kere okunmuş.



 

C# ile tanıtılan özelliklerden biri de STRUCT objesi. Struct'ı, class'ın biraz kırpılmış hali olarak düşünebilirsiniz.

Ne zaman struct kullanmalı?
Eğer bir grup birbiriyle alakalı veriyi bir arada saklayabilmek istiyorsanız, struct kullanmanız için ne duruyosunuz ki hala?.

Örnek Struct Yaratımı

struct Ogrenci
{
private string Isim;
private string Adres;
private string Sehir;
private int Telefon;
}

Kod içerisinde Struct Kullanımı

Ogrenci A = new Ogrenci; //Ogrenci structimizdan yeni bir instance yaratiyoruz
A.Isim = "Ahmet";
A.Telefon = 3251800;

Ne zaman class yerine struct kullanalım?
Struct'lar value-type(değer tipli) objelerdir. Class'lar ise (reference type)referans tipi objelerdir.
Struct olarak tanımladığınız objeler belleğin stack kısmında saklanırlar. Class objeleri ise belleğin heap kısmında saklanır.

Veriyi stackta saklamanın heap'te saklamaya göre ne avantajı var ona bakalım; Stack'tan veri çağırmak, heap'ten veri çağırmaya göre çok daha hızlıdir. Bu yüzden struct kullanımının hız açısından bir avantajı söz konusu.

Structların bir dezavantajı ise, bir struct objesi, bir diğer struct objesine assign edildiğinde(atandığında), aynı verinin, stack üzerinde 2 adet kopyası bulunacak ve veri çağrılırken performans düşüşüne sebep olacaktır.

Class kullanımında ise objenin bir kopyası yerine, sadece ona ait bir referans stack'te saklanır, ve 2 kere aynı verinin saklanması önlenmiş olur.

Structlar inheritance desteklemezler. Ancak class kullanarak ise inheritance'dan faydalanabilirsiniz.

C# veya VB.Net dilleri ile Struct kullanırken constructor kullanabilirsiniz. Construct kullanımı aynı class'lardaki şekilde yapılıyor. Tek farkı, herhangi bir arguman içermeyen boş constructor kullanımına struct'larda izin yok.

Bunlardan yola çıkarak gerekli durumlarda .Net programlarinizda struct'mi class'mi kullanacağınıza karar verebilirsiniz.

Unutmadan... "Struct ve Class farkları nelerdir?" sorusu bir mülakatta karşınıza çıkarsa şaşırmayın, çok geyik'te olsa .Net programcılığıyla ilgili giriş seviyesi pozisyonlar için yapılan başvurulardaki mülakatlarda sık sorulan sorulardan biri...

Etiketler : Struct ,Class

Yazdır Yazıyı Paylaş  C#.NET

Yazıya Yapılan Yorumlar

Bu yazıya hiç yorum eklenmemiş.

  Sizde bu yazıya yorum yapabilirsiniz..
   Adınız :   ( Gerekli )
   Email :   Gösterilmeyecek ( Gerekli )
   Siteniz :  
   Mesajınız :  
     

 
    ●  Duyuru
Techturk.NET 2009

    ●  Üyelik
Kullanıcı Adı :  
Parola :  
   

    ●  Kategoriler
  ● C#.NET
  ● VB.NET
  ● AJAX.NET
  ● Classic ASP
  ● PHP5 & PHP
  ● PHP Smarty
  ● ASP.NET MVC
  ● Php Scriptler
  ● ASP Scriptler
  ● Web Templates
  ● Temalar
  ● Teknoloji Haberleri
  ● Yazılım Haberleri
  ● Görsel Eğitim Setleri
  ● E-Book
  ● Programlar
  ● Web Tools
  ● Microsoft
  ● AJAX
 
    ●  Bağlantılar
  ●  YazGeliştir
  ●  Yazılım uzmanı
  ●  CSharpNedir?
  ●  Rekabet dünyası
  ●  Yavuz mercan
  ●  Furkan AÇIKGÖZ
  ●  E - Sitem Site Reklam parametiği
 
    ●  Çok Okunan Yazılar
  ● VB.NET İle Notepad .txt Uygulaması
  ● C#.NET İle Xml kaydı nasıl yapılır
  ● C# ASP.NET İle Mail Gönderme Class'ı
  ● SolidWorks 2010 Eğitim DVD’si (Yenasoft)
  ● Classic ASP Array kullanımı
  ● C#.NET - ASP.NET Mail Yollama örneğim
  ● Wordpress Alt Yapısını Kullanan Sistemler
  ● Microsoft'un Veri Merkezinde Gezi

    ●  Rastgele Yazı

    ●  Özel Video