Alıştırma - Koşullu işleci uygulama
- 7 dakika
Müşterinin satın almalarının promosyon indirimi için uygun olup olmadığını hızla belirlemeniz gerektiğini varsayalım. Promosyonla ilgili ayrıntılar, bir satın alma değeri 1000 Avro'dan büyük olduğunda, satın alma işleminin 100 euro indirim için uygun olduğunu gösterir. Satın alma tutarı 1000 euro veya daha azsa, satın alma 50 euro indirimden yararlanabilir.
Bu iş kuralını ifade etmek için dallanma yapısını kullanabilirsiniz if ... elseif ... else ancak promosyon indirimine uygunluğu değerlendirmek için koşullu işleci kullanmak daha iyi bir seçim olabilir. Koşullu işleç, birkaç kod satırını kaydeden ve kodun amacını daha net hale getirebilen kompakt bir biçimi kullanır.
Koşullu işleç nedir?
Koşullu işleç?: bir Boole ifadesini değerlendirir ve Boole ifadesinin true veya false olarak değerlendirilip değerlendirilmediğine bağlı olarak iki sonuçtan birini döndürür. Koşullu işleç genellikle üçüncül koşullu işleç olarak adlandırılır.
Temel form şudur:
<evaluate this condition> ? <if condition is true, return this value> : <if condition is false, return this value>
Promosyon indirimi senaryosuna koşullu işleci nasıl uygulayabileceğinizi düşünmek için bir dakikanızı alır. Amacınız müşteriye indirim yüzdesini gösteren bir ileti görüntülemektir. İndirim tutarı, satın almaları için 1000 Avro'dan fazla harcama yapıp etmediklerine göre olacak.
Koşullu işleç kullanan kod ekleme
Visual Studio Code'da boş bir Program.cs dosya açtığınızdan emin olun. Gerekirse Visual Studio Code'ı açın ve düzenleyicide bir Program.cs dosyası hazırlamak için aşağıdaki adımları tamamlayın:
- Dosya menüsünde Klasörü Aç'ı seçin.
- CsharpProjects klasörüne gitmek ve açmak için Klasör Aç iletişim kutusunu kullanın.
- Visual Studio Code EXPLORER panelinde Program.cs'ı seçin.
- Visual Studio Code Seçimi menüsünde Tümünü Seç'i seçin ve delete tuşuna basın.
Visual Studio Code Düzenleyicisi'ne aşağıdaki kodu yazın.
int saleAmount = 1001; int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {discount}");Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
kodu oluşturmadan veya çalıştırmadan önce Program.cs dosyasının kaydedilmesi gerekir.
EXPLORER panelinde, TestProject klasör konumunuzdaki bir Terminali açmak için TestProjesi'ne sağ tıklayın ve Tümleşik Terminalde Aç'ı seçin.
Komut istemi görüntüleyen bir Terminal paneli artık açık olmalıdır. Komut isteminde TestProject klasör konumunuz için klasör yolu görüntülenmelidir.
Terminal komut isteminde kodunuzu çalıştırmak için dotnet run yazın ve Enter tuşuna basın.
Kodu çalıştırdığınızda aşağıdaki çıkışı görmelisiniz:
Discount: 100
Satır içi koşullu işleci kullanma
Geçici değişkenini discountortadan kaldırarak bu kodu daha da sıkıştırabilirsiniz.
Visual Studio Code Düzenleyicisi'nde kodunuzu aşağıdaki gibi güncelleştirin:
int saleAmount = 1001; // int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {(saleAmount > 1000 ? 100 : 50)}");Visual Studio Code Dosyası menüsünde Kaydet'i seçin.
Terminal komut isteminde kodunuzu çalıştırmak için dotnet run yazın ve Enter tuşuna basın.
Çıkışın aynı olduğuna dikkat edin.
Güncelleştirilmiş
Console.WriteLine()deyimini incelemek için bir dakika bekleyin.Koşullu işleç deyiminin tamamını parantez içinde sarmalamanın gerekli olduğuna dikkat edin. Parantezler, çalışma zamanının amacınızı anlamasını sağlar. Bu, koşulu değerlendirmenin sonucu (saleAmount > 1000) yerine koşullu sonucu görüntülemektir.
Not
Bu özel örnek küçük olsa da ve nelerin mümkün olduğunu gösterse de, okuması biraz daha zordur. Özellikle kodunuzun genel olarak okunabilirliğini olumsuz etkilediğinde, kod satırlarını birleştirmek her zaman iyi bir fikir değildir. Bu genellikle öznel bir karardır.
Özet
Koşullu işleç hakkında aşağıdaki olguları hatırlamalısınız:
- Kodunuzun boyutunu küçültmek için koşullu işleci kullanabilirsiniz, ancak sonuçta elde edilen kodun kolayca okunabilir olduğundan emin olmanız gerekir.
- İkili koşula dayalı bir değer döndürmeniz gerektiğinde koşullu işlecini kullanabilirsiniz. Koşul true olarak değerlendirildiğinde kodunuz ilk seçeneği döndürür ve koşul false olarak değerlendirildiğinde ikinci seçeneği döndürür.