C# 11 ile Gelen Yenilikler

Microsoft’un yayınladığı blog yazısına istinaden C# 11 ile gelebilecek özelliklere göz attık. Öncelikle .NET 7 henüz long term support olmadığı için, C# 11’i kullanmak adına bazı ayarlar yapmanız gerekiyor. Bunun için visual studio 2022 17.1 versiyonunu indirmeli (community, professional veya enterprise edition fark etmez) ve .NET SDK’sının 6.0.200 versiyonunu kurmanız gerekiyor. Son olarak ta, .NET … Continue reading C# 11 ile Gelen Yenilikler

C# 10 Yenilikleri – File Scoped Namespaces

C# 9 ve önceki versiyonlarda Visaul Studio içerisinde yeni bir sınıf oluşturduğunuzda namespace’ler “Blocked scoped” olarak ekleniyordu. Yani namespsace’lerde süslü parantezler içerisinde ve tüm class’lar da soldan bir tab (veya 4 boşluk) olacak şekilde hizalanıyordu. C# 10 versiyonu ile hayatımıza File scoped namespaces kavramı girdi. Bu sayede namespace tanımlamalarındaki gereksiz süslü parantezlerden ve bu namespace’in … Continue reading C# 10 Yenilikleri – File Scoped Namespaces

C# 10 Yenilikleri – Extended Property Patterns

C# 10 ile gelen küçük yeniliklerden biri de Extended Property Patterns. C# 8 ile hayatımıza property pattern özelliği girmişti hatırlarsanız, iç içe olan property’lere süslü parantezler kullanarak erişebiliyorduk. if (p is Person { Name: “Soner”, Address: { City: “İstanbul” } }) Ama bu kullanım, bir çok iç içe property içeren yapılarda çok fazla süslü parantez … Continue reading C# 10 Yenilikleri – Extended Property Patterns

Microsoft Mülakat Sorusu – Valid Parentheses

LeetCode içerisinde bulunan “Valid Parentheses” sorusunun açıklaması ve çözümü. Bu soruda sizi verilen bir string içerisindeki parantezlerin valid (açılan parantezin önce kapatılması ve bunların sırayla olması) olup olmadığını kontrol etmeniz isteniyor. ► LeetCode 20. Valid Parentheses: https://leetcode.com/problems/valid-parentheses/ ► Problem açıklaması: Given a string s containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘ and ‘]’, … Continue reading Microsoft Mülakat Sorusu – Valid Parentheses

LeetCode Çözümleri – 1249. Minimum Remove to Make Valid Parentheses

LeetCode içerisinde bulunan “Minimum Remove to Make Valid Parentheses” sorusunun açıklaması ve çözümü. Bu soruda size verilen bir string içerisinde, en az kaç adet parantez silerek “geçerli” bir string oluşturabileceğiniz soruluyor. Geçerli bir string’in tanımı olarak; ► Boş string ve sadece küçük harfler içeren, veya ► A ve B geçerli string’ler olup AB şeklinde olan … Continue reading LeetCode Çözümleri – 1249. Minimum Remove to Make Valid Parentheses

HackerRank Çözümleri – Balanced Brackets

HackerRank içerisinde bulunan “Balanced Brackets” sorusunun açıklaması ve çözümü. Bu soruda size verilen string’in, parantez, köşeli parantez ve süslü parantezler açısından, dengeli bir string (doğru şekilde açılan parantezin doğru şekilde kapanması) olup olmadığı soruluyor. ► HackerRank – Balanced Brackets: https://www.hackerrank.com/challenges/balanced-brackets/problem ► Problem açıklaması: A bracket is considered to be any one of the following characters: … Continue reading HackerRank Çözümleri – Balanced Brackets

C# Attribute (Nitelik) Kavramı

Bir C# programında assembly’ler, tipler, üyeler, geri dönüş değerleri, parametreler ve diğer varlıklar onların davranışlarını belirleyecek değiştiriciler desteklerler. Örneğin, bir metoda erişebilirlik durumunu public, protedted, private ve internal anahtar kelimeleri belirler. C# bunlar gibi kullanıcı tanımlı bilgileri runtime zamanında programa uygulamak için genelleştirebilir yapıya sahiptir. Program bu gibi ilave bildirim bilgilerini attribute tanımlayarak belirler. Nitelikler … Continue reading C# Attribute (Nitelik) Kavramı