
C# Türler (Geliştiriciler İçin Nasıl Çalışır)
Herhangi bir programlama dilinde, veri tiplerini anlamak çok önemlidir ve C# da bu durumdan farklı değildir. İster int türü ister kayan nokta türü olsun, her tür belirli bir türde bilgiyi, yani gerçek verileri içerir.
The Basics of C#
C# kuvvetli şekilde tür tanımlı bir dildir. Güçlü tür tanımlı dil ne anlama geliyor diye sorabilirsiniz? Bu, her değişkenin ve nesnenin beyan edilmiş bir veri türüne sahip olması gerektiği anlamına gelir. Ve bu veri türü, o değişkende hangi türdeki veriyi saklayabileceğinizi belirler.
C#, değer türleri ve referans türleri olmak üzere iki ana veri türüne sahiptir. Bunlar aynı zamanda kullanıcı tanımlı türler hakkında duyabileceğiniz şeylerdir.
Value Types in C#
C#'da, değer türleri basittir. Bir değer türü değişkeni beyan ettiğinizde, saklanan gerçek veri, değişkene atadığınız değerdir. Bir değişkenin değerini değiştirirseniz, herhangi bir başka değişkeni etkilemez.
C#'daki en yaygın değer türleri şunları içerir:
- Tam sayılar (
inttürü tarafından temsil edilen) - Kayan nokta sayıları (
floatvedoubletürleri tarafından temsil edilen) - Boolean, yani doğru veya yanlış
Öncelikle int türü hakkında konuşalım. C# dilinde int türü, -2.147.483.648 ile 2.147.483.647 arasında tam sayıları depolayabilen bir 32-bit veri türüdür. İşte bir örnek:
int myInteger = 15;Dim myInteger As Integer = 15Şimdi, kayan nokta türüne gelelim. C# dilinde iki kayan nokta türü vardır: float ve double.
float türü, 7 haneye kadar hassasiyete sahip 32-bit bir kayan nokta sayısıdır. Bu tür, bilimsel hesaplamalar için uygundur. float türünde bir değişken şu şekilde tanımlanabilir:
float myFloat = 12.34F;Dim myFloat As Single = 12.34Fdouble türü, 15-16 haneye kadar hassasiyete sahip 64-bit bir kayan nokta türüdür. Bu tür, float türünden daha doğrudur ve genellikle finansal ve parasal hesaplamalar için kullanılır. İşte double türünde bir değişken örneği:
double myDouble = 12.3456789;Dim myDouble As Double = 12.3456789Predefined Data Types in C#
Tamam, devam edelim. C#, uygulamalarınızda kullanabileceğiniz birçok 'ön tanımlı veri türü' sağlar. Bunlar, kendinizin tanımladığı 'kullanıcı tanımlı türlerin' temel yapı taşlarıdır.
İşte birkaç örnek:
byte: Bu, 0 ile 255 arasında değişen 8-bit imzasız bir tam sayıdır.char: Bu, 16-bit Unicode karakteridir.decimal: Yüksek hassasiyeti nedeniyle finansal ve parasal hesaplamalar için idealdir.bool:trueveyafalsesaklar, mantıksal işlemler için mükemmeldir.
"Önceden tanımlanmış veri türleri"nin her birinin kendi amacı ve "varsayılan değeri" vardır, bu yüzden ihtiyaçlarınız için doğru olanı seçmek önemlidir!
Default Values in C#
C#'ta her veri türü varsayılan bir değerle gelir. Değer türü değişkenleri için, eğer onları başlatmazsanız, otomatik olarak varsayılan değerlerini alırlar.
Örneğin, int türünün varsayılan değeri 0'dır ve kayan nokta değer türlerinin (float veya double) varsayılan değeri 0,0'dır.
Başvuru türlerinin varsayılan değeri null'dir, bu da herhangi bir nesneyi referans almadığını belirtir.
Type Conversion in C#
Bazen, bir veri türünü başka bir türe dönüştürmeniz gerekebilir. Bu, tür dönüşümü olarak bilinir ve C# iki türü destekler: örtük dönüşüm ve açık dönüşüm.
Örtük dönüşüm, bir türün değerini, daha büyük değerleri tutabilen uyumlu bir tür değişkenine atadığınızda otomatik olarak gerçekleşir. Örneğin, bir int türü bir double türüne bilgi kaybetmeden atanabilir.
int myInt = 10;
double myDouble = myInt; // Implicit conversionDim myInt As Integer = 10
Dim myDouble As Double = myInt ' Implicit conversionAçık dönüşüm, yani tür atama, uyumsuz türler arasında veya daha büyük türlerden daha küçük olanlara dönüştürmeye çalıştığınızda gereklidir. Bu, dönüştürülecek değerin önüne parantez içinde hedef tipi yerleştirerek yapılır.
double myDouble = 10.5;
int myInt = (int)myDouble; // Explicit conversion, decimal part is lostImports System
Dim myDouble As Double = 10.5
Dim myInt As Integer = CInt(Math.Truncate(myDouble)) ' Explicit conversion, decimal part is lostReference Types in C#
C# dilindeki referans türleri, değer türlerinden biraz farklı çalışır. Gerçek veriyi saklamak yerine, bir referans türü değişkeni, değerin depolandığı adresi saklar. Başka bir deyişle, bellekteki başka bir konuma 'referans verir'.
Bu nedenle, referans türü nesnesini değiştirdiğinizde, diğer değişkeni de etkiler. Çünkü referans türü değişkeni, işaret ettiği bellek adresinde depolanan gerçek verilere yapılan değişiklikleri otomatik olarak yansıtır.
Bu biraz karmaşık gelebilir, ama bunu bir örnekle açıklayalım. Diyelim ki Person adlı bir sınıfımız var:
class Person
{
public string Name { get; set; }
}Friend Class Person
Public Property Name() As String
End ClassVe bu sınıfın iki "referans türü" değişkenini oluşturuyoruz:
Person person1 = new Person { Name = "Alice" };
Person person2 = person1;Dim person1 As New Person With {.Name = "Alice"}
Dim person2 As Person = person1Burada person1 ve person2 aynı bellek konumuna işaret ediyor. person1 değiştirirsek, person2 bu değişikliği yansıtacaktır:
person1.Name = "Bob";
Console.WriteLine(person2.Name); // Outputs "Bob"person1.Name = "Bob"
Console.WriteLine(person2.Name) ' Outputs "Bob"Arrays in C#
Bir dizi, aynı veri türündeki birden çok değeri tutan bir referans türüdür. Bu, bir koleksiyon değerlerini saklayabileceğiniz bir kap gibi, tümü aynı türdendir.
Bir dizi bildirmek için, önce elemanlarının veri türünü belirttikten sonra köşeli parantezleri ekleyin. Sonrasında diziyi oluşturmak ve uzunluğunu belirtmek için new anahtarını kullanırsınız.
int[] myIntArray = new int[5]; // Array of int type, can hold 5 valuesDim myIntArray(4) As Integer ' Array of int type, can hold 5 valuesDizinin elemanlarına erişmek için, 0'dan başlayan bir indeks kullanın.
myIntArray[0] = 10; // Sets the first element of the array to 10myIntArray(0) = 10 ' Sets the first element of the array to 10Unutmayın, C# dilinde diziler "referans türleri"dir, bu nedenle bir değişkene yapılan değişiklikler aynı diziyi referanslayan "diğer değişkenleri" etkileyecektir.
Generating PDFs with IronPDF in C#
IronPDF, C# için güçlü bir kütüphanedir ve geliştiricilerin PDF'lerden içerik oluşturmasına, düzenlemesine ve çıkarmasına olanak tanır. Bu, raporlar oluşturma veya dinamik faturalar yapma gibi görevler için hayat kurtarıcı olabilir.
IronPDF ile Başlangıç
İlk olarak IronPDF'i yüklemeniz gerekecek. Bunu, .NET için popüler bir paket yöneticisi olan NuGet aracılığıyla yapabilirsiniz. Paket yöneticisi konsolunuzda aşağıdaki komutu çalıştırın:
HTML'den PDF Oluşturma
IronPDF HTML'den PDF oluşturabilir. Oldukça basittir:
using IronPdf;
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>").SaveAs("HelloWorld.pdf");Imports IronPdf
Private Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>").SaveAs("HelloWorld.pdf")Yukarıdaki kod, "Merhaba, Dünya!" başlığı ile bir PDF oluşturacaktır. HTML kodunun basitçe bir dize olduğuna dikkat edin. C# dilinde bir dize, bir referans türüdür ve en çok kullanılan C# türlerinden biridir.

Sonuç
Tebrikler! Değer türleri, referans türleri, önceden tanımlanmış veri türleri ve bunların kod yazma şeklinizi nasıl etkilediğini anlayarak C# Türleri dünyasına derinlemesine dalış yaptınız. IronPDF gibi kütüphanelerin gücünü de gördünüz.
IronPDF, ücretsiz bir deneme sunar ve IronPDF lisansları $liteLicensing'den başlar.

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.
İlgili Makaleler


