C#’ta iki ana tür kategorisi, değer türleri (yapılar gibi) ve referans 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 öznitelikleri ve ilgili yöntemleri depolayabilir.
Yapı Nasıl Bildirilir?
Her struct bildiriminde struct anahtar sözcüğü bulunmalıdır . struct anahtar sözcüğünden önce bir erişim değiştiricisi ekleyin ve ondan sonra bir ad ve bir çift kaşlı ayraç ekleyin. Oyun adlı bir yapının nasıl ilan edileceği aşağıda açıklanmıştır:
public struct Game {}
Bir Yapı Nasıl Doldurulur
Bir yapı, verileri kaşlı ayraçlar içinde nitelikler, yapıcılar, yöntemler, olaylar vb. biçiminde depolar.
public struct Game
{
public string name;
public string description;
public int levels;
public Game (string name, string description, int levels) {
this.name = name;
this.description = description;
this.levels = levels;
}
public override string ToString() => $”Name: {name}, Description: {description}, Levels: {levels}”;
}
Oyun yapısının artık üç özniteliği, bir yapıcısı ve bir yöntemi var. Bunlar, aynı zamanda bir C# sınıfının birincil bileşenlerinden üçü olan bir C# yapısının üç ana bileşenidir .
Yapı Değişkeni Nasıl Oluşturulur
Bir C# yapısının her örneği bir değişken olarak bilinir . Bir yapıdan değişken oluşturmanın iki yolu vardır . Bir yapıcı kullanabilirsiniz:
Game game1 = new Game(“Pokémon GO”, “Lorem ipsum dolor sit amet.”, 50);
Veya nokta (.) operatörünü kullanarak bir yapının bireysel özelliklerine değerler atayabilirsiniz:
Game game1;
game1.name = “Pokémon GO”;
game1.description = “Lorem ipsum dolor sit amet.”;
game1.levels = 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.
Console.WriteLine(game1.ToString());
Bu, aşağıdaki çıktıyı konsola yazdırır:
Name: Pokémon GO, Description: Lorem ipsum dolor sit amet., Levels: 50
Yapı ve Sınıf Arasındaki Farklar
Yapı ve sınıf benzer bir görünüme sahiptir, ancak dikkate değer birçok farklılıkları vardır. Bildirim için farklı anahtar kelimeler kullanırlar. Yapılar ne boş referansları ne de kalıtımı destekler.