Bir Değişkenin Bir Liste İçindeki Bir Değere Eşit Olup Olmadığını Kontrol Etmenin En Basit Yolu C#

C# ile çalışırken, genellikle bir değişkenin birkaç değerden birine eşit olup olmadığını kontrol etme ihtiyacı doğar. Bu soru, “bunu başarmanın en özlü yolu nedir?” haline gelir. Özellikle, kontrol ettiğiniz değişkeni tekrar tekrar kullanmaktan kaçınmak, gereksiz yere diziler veya listeler gibi uzun sözdizimi uygulamalarından uzak durmak istersiniz.

Bu blog yazısında, bir değişkenin verilen değer setlerinden biriyle eşit olup olmadığını Boolean mantığını kullanarak etkin bir şekilde belirlemek için çeşitli çözümleri keşfedeceğiz.

Yaygın Yaklaşım

Genellikle, geliştiriciler doğrudan karşılaştırma yapmak için mantıksal “VEYA” operatörü (||) kullanma yoluna başvurabilirler:

int baseCase = 5;
bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;

Bu çözüm işe yarasa da, kontrol etmeniz gereken her değer için tekrarlayan kod gerektirir. Uzun bir değer listesine sahip olduğunuzda, kod hızla karmaşık ve hatalara açık hale gelebilir.

Yaklaşımınızı Yeniden Düşünmek

Sorulan bir soru, bu mantığı uzun ifadeler veya .NET 3.5 özellikleri kullanmadan daha özlü bir şekilde kapsayıp kapsayamayacağınızdır. Özellikle, dizileri gerektiren yapıları kullanmaktan kaçınmak istersiniz. Daha kompakt bir yaklaşımı inceleyelim.

Contains Kullanımı

Birden fazla değeri kontrol etmenin daha verimli bir yolunu arıyorsanız, en iyi yöntemlerden biri Contains metodunu kullanmaktır; bununla birlikte diziyi veya listeyi kullanmayı gerektirir. İşte yazabileceğiniz bir örnek:

bool testResult = new int[] { 3, 7, 12, 5 }.Contains(baseCase);

Neden Contains Kullanmalısınız?

Bu yöntem, kodunuzu birkaç önemli şekilde basitleştirir:

  • Okunabilirlik: Kodun netliğini artırır. Kodunuzu okuyan herkes, karmaşık bir “VEYA” işlemi çözümlemeden ne yapmaya çalıştığınızı anlar.
  • Esneklik: Kontrol ettiğiniz değerler listesini, mantık yapınızı değiştirmeden hızlıca güncelleyebilirsiniz.
  • Ölçeklenebilirlik: Koşulunuzdaki elemanları ekleyin veya çıkarın, kodun kabarık veya tekrar eden olmasından kaygılanmadan.

.NET 2.0 Kullanıcıları İçin Dikkat Edilmesi Gerekenler

.NET 2.0 çerçevesinin kısıtlamaları göz önüne alındığında, daha sonraki sürümlerde mevcut olan bazı özelliklere erişim yoktur. Bununla birlikte, yukarıda paylaşılan Contains uygulaması .NET 2.0 içinde iyi çalışır. Aşağıdaki örnek, basit ama etkili bir çözümdür:

bool b = new int[] { 3, 7, 12, 5 }.Contains(5);

Sonuç

Bir değişkenin bir değer setinden herhangi birine eşit olup olmadığını belirlemek, bir dizide Contains yöntemini kullanarak zarif bir şekilde yönetilebilir. Bu, kodun okunabilirliğini korurken, uzun mantıksal ifadelerde hata riskini azaltan şık ve kompakt bir çözüm sunar. Daha karmaşık mantık senaryoları oluştururken, bu yöntemleri kullanmanın C# içerisinde temiz, sürdürülebilir kodları destekleyebileceğini unutmayın; bu, .NET 2.0 gibi daha eski çerçevelerde bile iyi performans gösterir.

Bir sonraki sefer bir değişkeni bir liste ile kontrol etmeniz gerektiğinde, daha temiz bir kod için bu stratejileri aklınızda bulundurun!