.NET 6 Yenilikleri – Nuget paket validasyonu

.NET 6 ile gelen yeniliklerden biri de EnablePackageValidation kullanımı. Bu tag nuget paketlerinizin validasyonunun sağlıyor. Peki ne bu validasyonlar? Sürümler arasında birbirini bozan değişiklik olup olmadığını doğrular. Paketin, farklı runtime implementasyonlarına özgü uygulamalar için aynı public API yapısına sahip olup olmadığını doğrular. Geliştiricilerin uygulanabilirlik açıklarını yakalamasına yardımcı olur. Projenizin .csproj dosyası içerisinde PropertyGroup altında kullanabilirsiniz … Continue reading .NET 6 Yenilikleri – Nuget paket validasyonu

.NET 6 Yenilikleri – IANA Time zone desteği

.NET 6 ile gelen yeniliklerden biri de Windows time zone desteğine ilave olarak IANA time zone desteğinin geldi. .NET 6 ile birlikte bütün platform’larda Windows time zone desteğine ek olarak IANA time zone desteği geldi. Bildiğiniz gibi günümüzde IANA time zone en güncel ve en popüler zaman dili bilgisine sahip yapılardan biri. Bu nedenle bu … Continue reading .NET 6 Yenilikleri – IANA Time zone desteği

.NET 6 Yenilikleri – LINQ *OrDefault metodlarında default değerler

.NET 6 ile gelen yeniliklerden biri de LINQ içerisindeki *OrDefault metodlarında default değer atanma özelliği. .NET 5 ve öncesinde IEnumerable içerisinde bulunan First, Last ve Single metodları aldıkları predicate’e göre herhangi bir eleman bulunamazsa InvalidOperationException fırlatıyorlardı. Yani; .NET 6 ile birlikte bu metodlara ek olarak FirstOrDefault, LastOrDefault ve SingleOrDefault metodlarına default değer atama özelliği geldi. … Continue reading .NET 6 Yenilikleri – LINQ *OrDefault metodlarında default değerler

.NET 6 Yenilikleri – Chunk ile collection’ları eşit parçalara ayırma

.NET 6 ile birlikte hayatımıza giren yeniliklerden biri de IEnumerable.Chunk metodu. .NET 5 ve öncesinde, collection’ları eşit sayıda elemanlar olacak şekilde parçalara ayırmak için 2 yöntem vardı. Birincisi aşağıdaki gibi bir custom (veya extension) metod yazmak; İkincisi de MoreLINQ içerisinde bulunan Batch metodunu kullanmaktı. .NET 6 ile gelen IEnumerable.Chunk metodu ile bu işlemi artık custom … Continue reading .NET 6 Yenilikleri – Chunk ile collection’ları eşit parçalara ayırma

.NET 6 Yenilikleri – Enumerable içerisinde *By metodları

.NET 6 ile gelen yeniliklerden biri de Enumerable içerisinde gelen *By extension metodları. .NET 5 ve öncesi, tanımladığımız custom bir yapı için compare kısmını yaparken o yapıyı IComparable interface’inden türetip CompareTo metodunu kullanıyorduk klasik bir şekilde. Örneğin; Bu şekilde yaptığımız için karşılaştırma yapan metodları bu custom yapı için kullanabiliyorduk. Bu *By metodları ile, artık parametre … Continue reading .NET 6 Yenilikleri – Enumerable içerisinde *By metodları

.NET 6 Yenilikleri – ThrowIfNull ile null kontrolü

.NET 5 ve öncesinde, bir metod içerisinde argümanın null kontrolünü yapmak için kullandığımız klasik yöntem şu şekildeydi; .NET 6 ile bunu daha kolay bir şekilde yapabilmemiz için statik bir ThrowIfNull metodu eklenmiş. İşlevsel olarak tamamen yukarıdaki kullanımla aynı mantıkta çalışıyor. Daha kısa ve sade bir kullanım. Kaynak: ArgumentNullException.ThrowIfNull(Object, String) Method https://docs.microsoft.com/en-us/dotnet/api/system.argumentnullexception.throwifnull?view=net-6.0

.NET 6 Yenilikleri – DateOnly ve TimeOnly

Eğer .NET Framework ile aşinaysanız, DateTime ve DateTimeOffset gibi yapıları daha önce kullanmışsınızdır. .NET 6 ile hayatımıza 2 yeni struct girdi: DateOnly ve TimeOnly. DateOnly isimden de anlaşılacağı gibi “”sadece tarih” değerini barındırıyor. Bu yapı doğum günleri, işe alım tarihi, iş günleri gibi, belirli bir zaman ile ilişkisi olmayan birimler için gayet uygun bir yapı. … Continue reading .NET 6 Yenilikleri – DateOnly ve TimeOnly

.NET 6 Yenilikleri – IsPow2 ve RoundUpToPowerOf2

.NET 6 ile hayatımıza BitOperations sınıfı içerisinde 2 yeni metod girdi. BitOperations sınıfı genellikle bit manipülasyonları için kullanılan statik bir utility sınıfı. Bu operasyonlar; ✔️IsPow2: Verilen bir int yada long değerinin 2’nin bir tam sayı kuvveti olup olmadığını döndürür. https://source.dot.net/#System.Private.CoreLib/BitOperations.cs,49 ✔️RoundUpToPowerOf2: Verilen bir int ya da long değerinden büyük ya da eşit, en küçük 2’nin … Continue reading .NET 6 Yenilikleri – IsPow2 ve RoundUpToPowerOf2

.NET MAUI Nedir? | .NET MAUI Mimarisi ve Kurulumu

.NET Multiplatform App UI (kısaca MAUI), Windows, macOS, iOS ve Android‘i hedefleyen cross platform UI uygulamaları oluşturmak için Microsoft’un yeni bir framework’ü. .NET MAUI ile bu platformlardan herhangi birinde çalışan zengin, etkileşimli, yerel bir UI uygulaması oluşturabilirsiniz. Tek bir kod tabanı ile tüm bu platformları destekleyen ve kodun %100’ünü aralarında paylaşan bir uygulama oluşturabilirsiniz. Kısacası … Continue reading .NET MAUI Nedir? | .NET MAUI Mimarisi ve Kurulumu

Hackerrank “30 Days of Code” Çözümleri – Day 26: Nested Logic

Hackerrank’in 30 Days of Code içerisinde bulunan “Day 26: Nested Logic” sorusunun açıklaması ve çözümü. Bu soruda iç içe koşul ifadelerine göz attık. ► Hackerrank 30 Days of Code Çözümleri – Day 26: Nested Logic: https://www.hackerrank.com/challenges/30-nested-logic/problem ► Problem açıklaması: Objective Today’s challenge puts your understanding of nested conditional statements to the test. You already have … Continue reading Hackerrank “30 Days of Code” Çözümleri – Day 26: Nested Logic