C# ile struct kullanımı | #shorts



C# ile struct kullanımı | #shorts

C# ile struct kullanımı | #shorts

C#’ta struct’lar, veri üyelerini içerebilen veri yapılarını temsil etmeleri bakımından sınıflara benzer. Ancak, sınıflardan farklı olarak yapılar değer türleridir (yani value type) ve heap kullanımı gerektirmezler. Bir struct türündeki bir değişken doğrudan yapının verilerini içerirken, bir sınıf türündeki bir değişken, veriye bir referans içerir.

Peki ne zaman sınıf yerine struct kullanmalıyız? Microsoft şöyle öneriyor;

– Mantıksal olarak tek bir değeri temsil ediyorsa, primitive tipler gibi yani (integer, double vs.)
– Bir instance’ı 16 byte’tan küçükse
– Immutable ise (Yani bir instance’ı değiştirilemiyorsa)

Kişisel olarka eklemek istediklerim;

– Heap allokasyonuna gerek yoksa (yani GC’ye yük olmak istemediğinizde)
– Polymorphism’e ihtiyaç duymuyorsanız

struct kullanabilirsiniz.

struct Point
{
public int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}

Point a = new Point(10, 10);
Point b = a;
a.x = 20;
Console.WriteLine(b.x);
// sınıf ise 20, structs ise 10 yazdırır.

Kaynaklar:

https://stackoverflow.com/q/521298/447156

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/structs

#shorts #short #csharp

***

Sosyal Medya

🐦 Twitter’dan takip edin: https://twitter.com/sonergonul
💜 Twitch’ten takip edin: https://www.twitch.tv/sonergonul
💚 Discord kanalımız: https://discord.gg/VXZQH3U
💖 Quora’dan takip edin: https://www.quora.com/profile/Soner-Gonul
💛 Instagram’dan takip edin: https://www.instagram.com/sonergonul/

Destek

💪 ByNoGame: https://www.bynogame.com/destekle/sonergonul
💪 Stremlabs: https://streamlabs.com/sonergonul/tip