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ı depolamak için kullanılan bir dizi veri türüdür ve iki ana kategoriye ayrılabilir: tam sayı türleri ve kayan noktalı türler. Her kategori, kendi benzersiz özelliklerine ve kullanım senaryolarına sahiptir.

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

Tam Sayı Veri Türleri

Tam sayı veri türleri, tam sayıları depolamak için kullanılır ve imzalı (hem pozitif hem de negatif sayıları tutabilen) veya imzasız (yalnızca pozitif sayıları tutabilen) olabilir. C#'taki tam sayı türlerinin bir dökümü:

byte

byte en küçük tam sayı türüdür. İmzasız bir türdür, varsayılan değeri 0 olan ve 0'dan 255'e kadar değerleri saklayabilen.

sbyte

sbyte, byte'ın imzalı karşıtıdır. -128'den 127'ye kadar değerleri saklayabilir, varsayılan değeri 0'dır.

short

short, 16-bit imzalı bir tam sayı türüdür. byte ve sbyte'tan daha büyük bir aralığa sahiptir, -32.768'den 32.767'ye kadar, varsayılan değeri 0'dır.

ushort

ushort, short'un imzasız karşıtıdır. 0'dan 65.535'e kadar değerleri tutabilir. Varsayılan değeri de 0'dır.

int

int türü, 32-bit imzalı bir tam sayı türüdür, -2.147.483.648'den 2.147.483.647'ye kadar bir aralığa sahiptir. Int türündeki bir tamsayı değişkeninin varsayılan değeri 0'dır.

uint

uint, "imzasız tam sayı"nın kısa şekli, 0'dan 4.294.967.295'e kadar değerleri tutabilir. Varsayılan değeri 0'dır.

long

Long, 64-bit imzalı bir tam sayı türüdür, -9.223.372.036.854.775.808'den 9.223.372.036.854.775.807'ye kadar değerleri saklayabilir. Bir long'un varsayılan değeri 0L'dir.

ulong

ulong, ya da imzasız long, 0'dan 18.446.744.073.709.551.615'e kadar değerleri saklayabilir. Varsayılan değeri 0UL'dir.

Kayan Noktalı Sayı Türleri

Kayan noktalı türler, ondalık noktası olan sayıları depolamak için kullanılır. Bir kayan nokta sayısı, tam sayı türlerinden çok daha geniş bir değer aralığı sunar, ancak kesinlik konusunda bir ödünleşimle. C#'taki kayan noktalı türler:

float

float, 32-bit bir kayan nokta türüdür. Yaklaşık olarak 1,5 x 10^-45 ila 3,4 x 10^38 arasında değerleri temsil edebilir, 7 basamaklı bir kesinlikle. Float türündeki bir kayan nokta değişkeninin varsayılan değeri 0,0f'tir.

double

double türü, 64-bit bir kayan nokta türüdür. Yaklaşık olarak 5,0 x 10^-324 ile 1,7 x 10^308 arasında değerleri temsil edebilir, 15-16 basamaklı bir kesinlikle. Bir double'ın varsayılan değeri 0,0d'dir.

decimal

decimal türü, 128-bit bir veri türüdür. Genellikle yüksek kesinlik gerektiren finansal hesaplamalarda kullanılır. Yaklaşık olarak 1,0 x 10^-28 ile 7,9 x 10^28 arasında değerleri temsil edebilir, 28-29 basamaklı bir kesinlikle. Bir decimal türünün varsayılan değeri 0,0m'dir.

Yerel Boyutlu Tam Sayı Türlerini Anlamak

Yerel boyutlu tam sayı türleri, kodun çalıştığı platforma bağlı olarak boyutu değişen C#'taki özel türlerdir. Bunlar, tamsayı değerlerini saklamak için belleği en verimli şekilde kullanmak üzere tasarlanmıştır.

IntPtr

IntPtr, bir imzalı tam sayı türüdür ve bir işaretçi ile aynı genişliğe sahiptir. Bu, 32-bit platformlarda 32-bit ve 64-bit platformlarda 64-bit anlamına gelir. Bu, işaretçi veya bellekle ilgili görevlerle uğraşırken kullanışlıdır ve bir IntPtr'nin varsayılan değeri 0'dır.

UIntPtr

UIntPtr, IntPtr'nin imzasız karşıtı olup, yine bir işaretçi ile aynı boyuta sahiptir. Aynı platformda IntPtr ile aynı değer aralığını sağlar, ancak sadece negatif olmayan değerler için. Bir UIntPtr değişkeninin varsayılan değeri de 0'dır.

Arasında Dönüştürmeler Tam Sayı ve Kayan Noktalı Türler

Kullanım durumuna bağlı olarak, kodunuzda doğru veri türünü kullanmak önemlidir. Birçok durumda, bir türün değerine sahip olup, bu değeri başka bir türde kullanmak gerekebilir.

İmplicit dönüştürmeler, dönüştürülecek değerin yeni veri türüne bilgi kaybı olmadan sığacağı durumda otomatik olarak gerçekleşir. Örneğin, bir int'yi bir long'a implicit olarak dönüştürebilirsiniz, çünkü bir long, bir int ile aynı değeri saklayabilir.

Explicit dönüştürmeler, casting olarak da bilinir, veri kaybı riski olduğunda gereklidir. Örneğin, bir long'u bir int'e dönüştürmek, eğer long'un değeri bir int'in alabileceğinden daha büyükse veri kaybına neden olabilir.

Bir türden diğerine bir değeri açıkça dönüştürmek için () dönüştürme 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

Casting yaparken dikkatli olun, çünkü değer hedef türün aralığı dışındaysa beklenmedik sonuçlara yol açabilir.

Numeric Türlerini IronPDF Kullanarak Uygulamak

IronPDF web geliştiricileri düşünülerek tasarlanmış hafif bir .NET PDF kütüphanesidir. Okuma, yazma ve PDF dosyalarını manipüle etme işlemlerini hızlı ve basit bir hale getirir, her tür dosya türünü PDF içeriğine dönüştürebilir ve hem masaüstü hem de web .NET projelerinizde kullanılabilir. En iyi kısım - bir geliştirme ortamında denemesi ücretsizdir.

C# kullanarak türleri uygulamaya göz atalım IronPDF.

Öğelerin Konumlandırılması ve Boyutlandırılması

Bu örnekte, bir sayfa üzerindeki öğelerin konumunu ve boyutunu ayarlayacağız. IronPDF'de, koordinatlar bir kayan nokta türü 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

Çıktı PDF Dosyası

C# Sayısal Türleri Anlama, Görsel #1

Sonuç

Temel hesaplamalardan üretilen bir PDF'in düzenini özelleştirmeye kadar, sayı türleri etkili ve verimli C# programlamasının önemli bir parçasıdır. Veri manipülasyonu, algoritma tasarımı ve yüksek kaliteli PDF belgeleri oluşturma için yapı taşları olarak hizmet ederler.

IronPDF'i elinize almak ister misiniz? 30 günlük ücretsiz deneme ile başlayabilirsiniz. Geliştirme amaçlı kullanmak tamamen ücretsizdir, böylece gerçekten ne içerdiğini görebilirsiniz. Ve gördüklerinizi beğenirseniz, IronPDF liteLicense kadar düşük bir fiyattan başlar. Daha da büyük tasarruflar için Iron Suite 'a göz atın, burada dokuz Iron Software aracının tümünü iki fiyatına alabilirsiniz. İyi kodlamalar!

C# Sayısal Türleri Anlama, Görsel #2

Sıkça Sorulan Sorular

HTML içeriğini C# kullanarak nasıl PDF'ye dönüştürebilirim?

IronPDF'in RenderHtmlAsPdf yöntemi kullanılarak HTML içeriğini PDF'e dönüştürebilirsiniz, bu da HTML dizelerini doğrudan PDF belgelerine dönüştürmenize olanak tanır. 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, ondalık noktalı sayıları yönetir, daha geniş bir aralık sunar ancak daha az hassastır.

Neden C#'de double yerine decimal türü kullanmalıyım?

Decimal türü daha yüksek hassasiyet sunar, bu da kesin ondalık temsilatın kritik olduğu finansal hesaplamalar için idealdir. 28-29 basamak hassasiyetle değerleri temsil edebilir, double'ın 15-16 basamağı ile karşılaştırıldığında.

Yerel boyutlu tamsayı türleri C# geliştiricilerine nasıl fayda sağlar?

IntPtr ve UIntPtr gibi yerel boyutlu tamsayı türleri, platforma bağlı olarak boyutlarını ayarlayarak, özellikle platforma özgü senaryolarda bellek adresleri ve işaretçileri yönetmek gibi görevler için bellek verimliliği sağlar.

.NET ile PDF oluşturma işlemlerinde sayısal türler ne rol oynar?

.NET PDF oluşturmada sayısal türler, PDF unsurlarının düzenini tanımlamada esastır. Örneğin, IronPDF kullanarak metin ve görüntülerin PDF sayfasındaki kesin boyutunu ve konumunu belirlemek için kayan noktalı sayılar kullanılabilir.

C#'deki örtük ve açık dönüşümler nedir?

C#'de örtük dönüşümler, hedef türün kaynak değeri veri kaybı olmadan depolayabileceği zaman gerçekleşir. Açık dönüşümler veya tür dönüştürme, veri kaybı potansiyeli nedeniyle genellikle bir tür dönüştürme operatörü kullanmayı gerektiren, manuel müdahale gerektirir.

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

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

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

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 ...

Daha Fazla Oku

Iron Destek Ekibi

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