- Struct' lar default constructor içeremez
- Struct içerisinde Field'lar değer almadan metotlar kullanılamaz
- Kalıtım yapılamaz fakat interfaceler implemente edilebilir.
struct STOgrenci //Bir struct tanımladık ve değer tipli
{
public string Ad { get; set; }
}
class CSOgrenci //Bir class tanımladık ve referans tipli
{
public string Ad { get; set; }
}
class Program
{
static void Main(string[] args)
{
CSOgrenci ogrenci1 = new CSOgrenci(); //Class nesnesi örnekledik
ogrenci1.Ad = "Mehmet";
STOgrenci ogrenci2 = new STOgrenci(); //Struct nesnesi örnekledik
ogrenci2.Ad = "Ali";
ClassKabulEt(ogrenci1); //İsmini değiştirmek için metoda gönderiyoruz
Console.WriteLine("Ogrenci 1 Class --"+ogrenci1.Ad);
StructKabulEt(ogrenci2); //İsmini değiştirmek için metoda gönderiyoruz
Console.WriteLine("Ogrenci 2 Struct --"+ogrenci2.Ad);
Console.ReadLine();
}
static void ClassKabulEt(CSOgrenci Ogrenci)
{
Ogrenci.Ad = "YeniIsim";
}
static void StructKabulEt(STOgrenci Ogrenci)
{
Ogrenci.Ad = "YeniIsim";
}
} //Öğrenci 1'in ismi değişti çünkü o referans türlü bir class.
//Öğrenci 2'nin ismi değişmedi çünkü o değer türlüdür.
Hiç yorum yok:
Yorum Gönder