C#'ta iki ana tür kategorisi, değer türleri (yapılar gibi) ve başvuru türleridir (sınıflar gibi). Bir yapı (veya yapı) bir değer türü olduğu için veri merkezlidir.
Bir yapı, tercihen davranışa odaklanmayan nitelikleri ve ilgili yöntemleri saklayabilir.
Bir Yapı Nasıl Bildirilir
Her yapı bildirimi, yapı anahtar kelime. struct anahtar sözcüğünün önüne bir erişim değiştiricisi koyun ve ondan sonra bir ad ve bir çift kaşlı ayraç ekleyin. Game adlı bir yapıyı nasıl bildireceğiniz aşağıda açıklanmıştır:
halka açık yapı Oyunu {}
Bir Yapı Nasıl Doldurulur
Bir yapı, verileri küme parantezleri içinde nitelikler, kurucular, yöntemler, olaylar vb. şeklinde depolar.
halka açık yapı Oyun
{
halka açık dize adı;
halka açık dizi açıklaması;
halka açıkint seviyeler;halka açıkoyun(dize adı, dize açıklaması, int seviyeler){
Bu.name = isim;
Bu.açıklama = açıklama;
Bu.levels = seviyeler;
}
genel geçersiz kılma dizesi ToString() => $"Ad: {name}, Açıklama: {description}, Düzeyler: {levels}";
}
Game struct artık üç niteliğe, bir kurucuya ve bir metoda sahiptir. Bunlar, aynı zamanda bir C# yapısının üç ana bileşeni olan üç ana bileşendir.
C# sınıfı.Yapısal Değişken Nasıl Oluşturulur
Bir C# yapısının her örneği, bir değişken. oluşturmanın iki yolu vardır. değişken bir yapıdan. Bir kurucu kullanabilirsiniz:
Oyun oyunu1 = yeni Oyun("poképzt GO", "Lorem ipsum dolor sit amet.", 50);
Veya nokta (.) operatörünü kullanarak bir yapının tek tek niteliklerine değerler atayabilirsiniz:
Oyun oyunu1;
oyun1.adı = "poképzt GO";
oyun1.açıklama = "Lorem ipsum dolor sit amet.";
oyun1.seviyeler = 50;
Her iki yaklaşım da aynı sonuca ulaşır. Yukarıdaki kod, kısa bir açıklaması ve 50 seviyesi olan Pokémon GO adlı bir oyun nesnesi geliştirmek için C# kullanır. Artık game1 nesnesini kullanabilirsiniz.
Konsol.Yazı çizgisi(oyun1.ToString());
Bu, aşağıdaki çıktıyı konsola yazdırır:
İsim: Pokémon GO, Açıklama: Lorem ipsum dolor sit amet., Seviyeler: 50
Yapı ve Sınıf Arasındaki Farklar
Bir yapı ve bir sınıf benzer bir görünüme sahiptir, ancak birçok önemli farklılıkları vardır. Bildirim için farklı anahtar kelimeler kullanırlar. Ve yapılar ne boş referansları ne de kalıtımı destekler.