Ana içeriğe geç

"units" ile etiketlenmiş Bir gönderi

Tüm Etiketleri Görüntüle

UnitsNet

· 3 dakikalık okuma
Ahmet Buğra Kösen
Software Developer

Fiziksel büyüklüklerle çalışan uygulamalarda birim dönüşümleri zorlayıcı olabilir. .NET platformu için geliştirilen UnitsNet kütüphanesi, farklı ölçüm sistemleri ve fiziksel büyüklükler arasında dönüşümü kolay ve güvenilir hale getirir. Bu makalede, UnitsNet kütüphanesinin özelliklerini ve kullanım alanlarını inceleyeceğiz.

UnitsNet Nedir?

UnitsNet, .NET uygulamalarında fiziksel büyüklüklerin birim dönüşümlerini basit ve güvenilir bir şekilde gerçekleştirmek için geliştirilmiş bir open-source bir kütüphanedir. Birçok ölçüm türünü destekler ve farklı birimler arasında dönüşüm yapmayı sağlar. Örneğin, metre cinsinden bir uzunluğu km olarak almak veya kilogram cinsinden bir ağırlığı pound’a çevirmek gibi işlemler UnitsNet ile son derece kolaydır.

Desteklenen Birim Türleri

UnitsNet kütüphanesi, geniş bir yelpazede fiziksel büyüklükleri ve birimleri destekler. Bu büyüklükler arasında aşağıdakiler yer alır:

  • Uzunluk (Length): metre, kilometre, mil, inç, fit vs.
  • Ağırlık/Kütle (Mass): kilogram, gram, ton, pound vs.
  • Sıcaklık (Temperature): Celsius, Fahrenheit, Kelvin vs.
  • Hacim (Volume): litre, mililitre, galon, kübik metre vs.
  • Alan (Area): metrekare, hektar, akre vs.
  • Basınç (Pressure): Pascal, bar, atm, psi vs.
  • Hız (Speed): metre/saniye, kilometre/saat, mil/saat vs.
  • Enerji (Energy): joule, kalori, kilowatt-saat vs.
  • Güç (Power): watt, kilowatt, beygir gücü vs.
  • Veri Boyutu (Information): byte, kilobyte, megabyte, gigabyte, terabyte vs.

UnitsNet, yukarıdaki büyüklükler ve daha fazlası için destek sağlar ve böylece çok çeşitli mühendislik ve bilimsel hesaplamalar için uygundur.

UnitsNet Implementasyon

Öncelikle, projeye UnitsNet NuGet paketini ekleyelim;

dotnet add package UnitsNet

UnitsNet ile bir büyüklüğü tanımlayıp, farklı birimlere dönüştürmek oldukça basit;

using UnitsNet;

class Program
{
static void Main()
{
// Define 10km
var distance = Length.FromKilometers(10);

Console.WriteLine($"Meters: {distance.Meters}");
// Meters: 10000

Console.WriteLine($"Miles: {distance.Miles}");
// Miles: 6.2137119223733395

Console.WriteLine($"Yard: {distance.Yards}");
// Yard: 10936.132983377078


// Define 100 MB
var fileSize = Information.FromMegabytes(100);

Console.WriteLine($"Byte: {fileSize.Bytes}");
// Byte: 100000000

Console.WriteLine($"Gigabyte: {fileSize.Gigabytes}");
// Gigabyte: 0.1
}
}

Bu kodda, Length.FromKilometers(10) ile 10 kilometre cinsinden bir uzunluk tanımlıyoruz ve distance.Meters, distance.Miles gibi özelliklerle farklı birimlerde değerlerini görüntülüyoruz. Ayrıca, 100 MB’lik bir dosya boyutunu byte ve gigabyte olarak çevrimlerini yapıyoruz.

Daha fazlası için lütfen projenin github sayfasına göz atın…

UnitsNet Kullanırken Dikkat Edilmesi Gerekenler

Kullanım sırasında aşağıdaki konulara dikkat etmek faydalı olacaktır:

  1. Doğru Büyüklüğü Seçmek: Her büyüklük için ayrı bir sınıf vardır (Length, Mass, Temperature gibi). Hangi büyüklüğü kullanacağınızı doğru seçtiğinizden emin olun.
  2. Birim Hassasiyeti: UnitsNet, bazı birim dönüşümlerinde yuvarlama yapabilir. Eğer çok yüksek hassasiyet gerektiren işlemler yapıyorsanız, sonuçları kontrol etmenizde fayda var.
  3. Performans: UnitsNet, büyük veri setleriyle çalışırken dönüşüm işlemlerinin optimize edilmesi gerekebilir. Özellikle büyük döngüler içinde birim dönüşümü yapılacaksa performans testleri yapmakta fayda var.

Sonuç

UnitsNet, .NET platformunda birim dönüşümlerini güvenilir ve kolay bir şekilde yapmak isteyen geliştiriciler için harika bir çözümdür. Geniş bir birim desteği, basit kullanım ve güçlü dönüşüm özellikleri sayesinde, bilimsel, mühendislik ve günlük uygulamalarda kolaylık sağlar. Projelerinizde birim dönüşümü ihtiyacı varsa, UnitsNet'i denemenizi öneririm.

Bir sonraki yazıda görüşmek dileğiyle…