Altbilgi içeriğine atla
.NET YARDıM

C# Sayısal Türleri (Geliştiriciler İçin Nasıl Çalışır)

C#'ta, sayısal türler, sayıları saklamak için kullanılan bir dizi veri türüdür ve iki ana kategoriye ayrılır: tam sayı türleri ve kayan nokta türleri. Her kategorinin kendine özgü özellikleri ve kullanım durumları vardır.

Sayısal türler, C#'taki birçok işlemin temelini oluşturur, finansal ve parasal hesaplamalardan karmaşık algoritmalara kadar. C#'ta ustalaşmak istiyorsanız, bu değer türlerinde ustalaşmanız gerekecek.

Tamsayı Veri Türleri

Tamsayı veri türleri, tam sayıları depolamak için kullanılır ve pozitif ve negatif sayıları depolayabilen işaretli veya sadece pozitif sayıları depolayabilen işaretsiz olabilir. İşte C#'taki tamsayı türlerinin bir dökümü:

byte

Byte, en küçük tamsayı türüdür. Bu, 0 ile 255 arasında değerler depolayabilen, varsayılan değeri 0 olan işaretsiz bir türdür.

sbyte

Sbyte, byte'ın işaretli bir karşılığıdır. -128 ile 127 arasında değerler depolayabilir ve varsayılan değeri 0'dır.

short

Short, 16-bit işaretli bir tamsayıdır. Byte ve sbyte'dan daha geniş bir aralığa sahiptir, -32.768 ile 32.767 arasında, varsayılan değeri ise 0'dır.

ushort

Ushort, short'un işaretsiz bir karşılığıdır. 0 ile 65.535 arasında değerler tutabilir. Varsayılan değeri de 0'dır.

int

Int türü, -2.147.483.648 ile 2.147.483.647 arasında bir aralığa sahip 32-bit işaretli bir tamsayıdır. Int türündeki bir tamsayı değişkenin varsayılan değeri 0'dır.

uint

Uint, "işaretsiz tamsayı" kısaltmasıdır ve 0 ile 4.294.967.295 arasında değerler tutabilir. Varsayılan değeri 0'dır.

long

Long, -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasında değerler depolayabilen 64-bit işaretli bir tamsayı türüdür. Bir long türünün varsayılan değeri 0L'dir.

ulong

ulong veya işaretsiz uzun, 0 ile 18.446.744.073.709.551.615 arasında değerleri saklayabilir. Varsayılan değeri 0UL'dir.

Kayan Nokta Sayı Tipleri

Kayan nokta tipleri, ondalık noktası olan sayıları saklamak için kullanılır. Bir kayan nokta sayı, tamsayı tiplerinden çok daha geniş bir değer aralığı sağlar, ancak hassasiyetten ödün verilir. C#'teki kayan nokta tipleri şunlardır:

float

Float, 32 bit kayan nokta tipidir. Yaklaşık 1,5 x 10^-45 ile 3,4 x 10^38 arasında değerleri 7 basamak hassasiyetle temsil edebilir. Float tipindeki bir kayan nokta değişkenin varsayılan değeri 0.0f'dir.

double

Double tipi, 64 bit kayan nokta tipidir. Yaklaşık 5,0 x 10^-324 ile 1,7 x 10^308 arasında değerleri 15-16 basamak hassasiyetle temsil edebilir. Double'ın varsayılan değeri 0.0d'dir.

decimal

Decimal tipi, 128 bit veri tipidir. Yüksek hassasiyet gerektiren finansal hesaplamalarla uğraşırken sıklıkla kullanılır. Yaklaşık 1,0 x 10^-28 ile 7,9 x 10^28 arasında değerleri 28-29 basamak hassasiyetle temsil edebilir. Decimal tipinin varsayılan değeri 0.0m'dir.

Yerel Boyutlu Tamsayı Tiplerini Anlamak

Yerel boyutlu tamsayı tipleri, kodun çalıştığı platforma bağlı olarak boyutu değişen C#'e özgü tiplerdir. Bunlar, tamsayı değerlerini saklamak için hafızanın en verimli şekilde kullanılmasını sağlamak için tasarlanmıştır.

IntPtr

IntPtr, bir işaretçiyle aynı genişliğe sahip işaretli bir tamsayı tipidir. Bu demek oluyor ki, 32 bit platformlarda 32 bit, 64 bit platformlarda 64 bit'tir. Bu, işaretçi veya bellekle ilgili görevlerle uğraşırken kullanışlıdır ve IntPtr'ın varsayılan değeri 0'dır.

UIntPtr

UIntPtr, IntPtr'ın işaretsiz karşılığıdır ve aynı boyutta bir işaretçi ile aynıdır. Aynı platformda IntPtr ile aynı değer aralığını sağlar, ancak sadece negatif olmayan değerler için. UIntPtr'ın varsayılan değeri de 0'dır.

Tamsayı ve Kayan Nokta Tipleri Arasında Dönüşüm Yapmak

Kullanım durumu ne olursa olsun, kodunuzda doğru veri tipini kullanmak önemlidir. Birçok durumda, bir türün değerine sahip olabilirsiniz ve onu başka bir tür olarak kullanmanız gerekebilir.

Gizli dönüşümler, dönüştürülecek değer yeni veri tipine bilgi kaybetmeden uyacaksa otomatik olarak gerçekleşir. Örneğin, bir int'i long'a gizli bir şekilde dönüştürebilirsiniz, çünkü bir long int ile aynı değeri saklayabilir.

Açık dönüşümler, diğer adıyla casting, veri kaybı riski olduğunda gereklidir. Örneğin, bir long'u int'e dönüştürmek, long'un değeri int'in taşıyabileceğinden büyükse veri kaybına neden olabilir.

Bir değeri bir türden diğerine açıkça atamak için, () atama operatörünü kullanabilirsiniz:

long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
                         // Be cautious if myLong > 2,147,483,647 as it may cause data loss.
long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
                         // Be cautious if myLong > 2,147,483,647 as it may cause data loss.
Dim myLong As Long = 5000L
Dim myInt As Integer = CInt(myLong) ' This is an explicit cast from long to int.
						 ' Be cautious if myLong > 2,147,483,647 as it may cause data loss.
$vbLabelText   $csharpLabel

Döküm yaparken dikkatli olun, çünkü değer hedef tipin aralığı dışındaysa beklenmeyen sonuçlara yol açabilir.

IronPDF Kullanarak Sayısal Tipler Uygulamak

IronPDF, özellikle web geliştiriciler için tasarlanmış hafif bir .NET PDF kutuphanesidir. Her türlü dosya türünü PDF içeriğine dönüştürebilmesi, PDF dosyalarını okumayı, yazmayı ve manipüle etmeyi çok kolay hale getirir ve hem masaüstü hem de web için .NET projelerinde kullanılabilir. En iyi kısmı - bir geliştirme ortamında denemesi ücretsizdir.

C#'te IronPDF kullanarak tipleri uygulamaya bir göz atalım.

Elemanların Pozisyonunu ve Boyutunu Ayarlamak

Bu örnekte, bir sayfadaki elemanların yerini ve boyutunu ince ayarlayacağız. IronPDF'de, koordinatlar bir kayan nokta tipi kullanılarak tanımlanır.

using IronPdf;

var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50;    // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.

var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");       // Save the generated PDF to the specified path.
using IronPdf;

var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50;    // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.

var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");       // Save the generated PDF to the specified path.
Imports IronPdf

Private htmlToPdf = New ChromePdfRenderer()
htmlToPdf.RenderingOptions.MarginTop = 50 ' Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50 ' Set bottom margin in points.

Dim document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>")
document.SaveAs("C:\numericTypes.pdf") ' Save the generated PDF to the specified path.
$vbLabelText   $csharpLabel

Çıkış PDF Dosyası

C# Sayısal Türleri Anlama, Resim #1

Sonuç

Basit hesaplamalardan oluşturulan bir PDF'in düzenini özelleştirmeye kadar, sayı tipleri etkili ve verimli C# programlamanın önemli bir parçasıdır. Veri manipülasyonu, algoritma tasarımı ve yüksek kaliteli PDF belgelerinin oluşturulması için yapı taşları olarak hizmet ederler.

IronPDF'e sahip olmak mı istiyorsunuz? 30 günlük ücretsiz deneme ile başlayabilirsiniz. Geliştirme amacıyla tamamen ücretsiz olması da çok avantajlı, böylece tam olarak neler yapabileceğini görebilirsiniz. Ve gördüklerinizi beğenirseniz, IronPDF liteLicense kadar düşük bir fiyatla başlar. Daha büyük tasarruflar için, Iron Suitei kontrol edin, tüm dokuz Iron Software aracını iki fiyatına alabilirsiniz. İyi çalışmalar!

C# Sayısal Türleri Anlama, Resim #2

Sıkça Sorulan Sorular

HTML içeriğini C# kullanarak nasıl PDF yapabilirim?

IronPDF'nin RenderHtmlAsPdf yöntemini kullanarak, HTML içeriğini C#'de PDF'ye dönüştürebilirsiniz. Böylece HTML dizelerini doğrudan PDF belgelerine dönüştürebilirsiniz. Ayrıca, HTML dosyalarını dönüştürmek için RenderHtmlFileAsPdf kullanabilirsiniz.

C#'de tamsayı ve kayan nokta türleri arasındaki temel farklar nelerdir?

C#'de, tamsayı türleri tam sayılar için kullanılır ve byte, int ve long gibi türleri içerir. Kayan nokta türleri, float ve double gibi, noktalı sayıları işler, daha geniş bir aralığı ancak daha az hassasiyeti sunar.

C#'de neden bir decimal türü yerine double kullanırım?

Decimal türü daha yüksek bir hassasiyet sunar; bu, tam sayı temsili gerektiğinde ve net olarak hesaplanması gerektiğinde idealdir. Decimal, 28-29 basamak hassasiyet sunabilir, double ise 15-16 basamak sunar.

Yerel boyutlu tamsayı türlerinin, C# geliştiricilerine sağladığı faydalar nelerdir?

IntPtr ve UIntPtr gibi yerel boyutlu tamsayı türleri, platforma bağlı olarak boyutlarını ayarlar, platforma özgü senaryolar için bellek etkinliği sağlar, bellek adreslerinin ve işaretçilerin işlenmesi gibi görevlerde kullanılır.

Sayısal türler, .NET ile PDF oluşturmadaki rolü nedir?

.NET PDF oluşturma sırasında sayısal türler, PDF elemanlarının düzenini tanımlamak için önemlidir. Örneğin, kayan nokta sayıları, IronPDF kullanılarak bir PDF sayfasında metin ve görsellerin tam boyutunu ve konumunu belirleyebilir.

C#'de örtük ve açık dönüştürmeler nelerdir?

C#'de örtük dönüştürmeler, hedef tür kaynak değeri veri kaybı olmadan depolayabildiğinde meydana gelir. Açık dönüştürmeler veya casting, manuel müdahale gerektirir, genellikle potansiyel veri kaybı nedeniyle bir cast operatörü kullanır.

.NET PDF kütüphanesini projem için nasıl değerlendirebilirim?

IronPDF gibi bir .NET PDF kütüphanesini, 30 günlük ücretsiz deneme avantajıyla değerlendirebilirsiniz. Bu, lisans satın almaya karar vermeden önce geliştirme sırasında özelliklerini keşfetmenize olanak tanır.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Chief Technology Officer

Jacob Mellor, Iron Software'in Teknoloji Müdürü ve C# PDF teknolojisinin öncüsü olan vizyoner bir mühendis. Iron Software’in temel kod tabanının ilk geliştiricisi olarak, şirketin ürün mimarisini kuruluşundan bu yana şekillendirdi ve CEO Cameron Rimington ile birlikte NASA, Tesla ve ...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara