C# IF, Switch, For, While Döngü İfadeleri [Örnekler]

⚡ Akıllı Özet

C# dilindeki koşullu ifadeler ve döngüler, mantığa dayalı olarak kod bloklarını çalıştırarak veya tekrarlayarak programın akışını kontrol eder. `if`, `switch`, `while` ve `for` ifadeleri, programın kararlar almasını ve verimli bir şekilde yineleme yapmasını sağlar.

  • 🔀 Akış kontrolü: Koşullu ifadeler, yürütme sırasını değiştirerek programın yalnızca mantığına uyan ifadeleri çalıştırmasını sağlar.
  • Eğer koşulu: `if` ifadesi bir Boolean ifadesini değerlendirir ve doğru olduğunda bir kod bloğunu, yanlış olduğunda ise başka bir kod bloğunu çalıştırır.
  • 🔢 Switch ifadesi: Switch ifadesi, bir değeri birden fazla durum etiketiyle karşılaştırır ve eşleşme bulunduğunda durmak için break komutunu kullanır.
  • 🔁 Döngü sırasında: While döngüsü, koşulu doğru kaldığı sürece bir ifade bloğunu tekrarlar; bu da bilinmeyen sayıda yinelemeye olanak tanır.
  • 🔄 Döngü için: For döngüsü, tekrar sayısı bilindiğinde ideal olan bir şekilde, sayacı tek bir satırda başlatır, test eder ve artırır.
  • 🤖 Yapay zeka yardımı: GitHub Copilot, if, switch ve loop mantığını taslak haline getirirken, ML.NET aynı koşulları makine öğrenimi işlem hatlarını dallandırmak için yeniden kullanır.

C# Koşullu İfadeler

Akış Kontrolü ve koşullu ifadeler

Akış kontrolü ve koşullu ifadeler, bir programın akışını değiştirmek için herhangi bir programlama dilinde mevcuttur.

Örneğin, birisi belirli bir mantığa dayalı olarak yalnızca belirli bir dizi ifadeyi çalıştırmak istiyorsa, akış kontrolü ve koşullu ifadeler faydalı olacaktır.

C#'ta mevcut olan çeşitli ifadeleri incelerken daha iyi anlayacaksınız.

Lütfen aşağıdaki kodun tamamının Program.cs dosyasına yapıldığını unutmayın.

1) If ifadesi

`if` ifadesi, bir dizi ifadeyi çalıştırmadan önce bir Boolean ifadesini değerlendirmek için kullanılır. Eğer ifade doğru (true) olarak değerlendirilirse, bir dizi ifade çalıştırılır; aksi takdirde başka bir dizi ifade çalıştırılır.

Aşağıdaki örneğimizde, "value" adlı bir değişken için bir karşılaştırma yapılıyor. Değişkenin değeri 10'dan küçükse bir ifade çalıştırılır, aksi takdirde başka bir ifade çalıştırılır.

If ifadesi

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 value = 11;
   
   if(value<10)
   {
    Console.WriteLine("Value is less than 10");
   }
   else
   {
    Console.WriteLine("Value is greater than 10");
   }
    Console.ReadKey();
  }
 }
}

Code Açıklama:-

  1. Öncelikle değer adında bir değişken tanımlayıp değerini 11 olarak ayarlıyoruz.
  2. Daha sonra değerin değişkenin 10'dan küçük olup olmadığını kontrol etmek için 'if' ifadesini kullanırız. Sonuç ya doğru ya da yanlış olacaktır.
  3. Eğer if koşulu doğru olarak değerlendirilirse konsola “Değer 10’dan küçük” mesajını göndeririz.
  4. If koşulu false olarak değerlendirilirse konsola "Değer 10'dan büyük" mesajını göndeririz.

Yukarıdaki kod doğru bir şekilde girilir ve program başarıyla çalıştırılırsa aşağıdaki çıktı gösterilecektir.

Çıktı:

If ifadesi

'İf' ifadesinin yanlış olarak değerlendirildiğini açıkça görebiliriz. Bu nedenle konsola “Değer 10’dan büyük” mesajı gönderildi.

2) Anahtar beyanı

Switch ifadesi 'if' ifadesinin geliştirilmiş halidir. Tek seferde değerlendirilmesi gereken birden fazla ifadeniz varsa birden fazla "if" ifadesi yazmak sorun haline gelir.

Switch ifadesi, bir ifadeyi değerlendirmek ve ifadenin sonucuna göre farklı ifadeleri çalıştırmak için kullanılır. Eğer bir koşul doğru olarak değerlendirilmezse, switch ifadesi bir sonraki koşula geçecektir ve bu şekilde devam edecektir.

Aşağıdaki örnekle bunun nasıl çalıştığını görelim. Burada yine 'değer' adlı bir değişkenin değerini karşılaştırıyoruz. Ardından değerin 1'e, 2'ye veya tamamen farklı bir şeye eşit olup olmadığını kontrol ediyoruz.

Anahtar bildirimi

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=11;
   switch(value) 
   {
     case 1: Console.WriteLine("Value is 1");	
     break;
     case 2: Console.WriteLine("Value is 2");
     break;
     default: Console.WriteLine("value is different");
     break;
   }
  }
 }
}

Code Açıklama:-

  1. Öncelikle 'value' adında bir değişken tanımlayıp onu 11 değerine ayarlıyoruz.
  2. Daha sonra 'value' değişkeninin değerini kontrol etmek için 'switch' ifadesini kullanırız.
  3. Case ifadeleri farklı koşulları ayarlamak için kullanılır. Koşullara bağlı olarak bir dizi ifade yürütülebilir. Bir switch deyiminin birden fazla durum koşulu olabilir. İlk case ifadesi değişkenin değerinin 1'e eşit olup olmadığını kontrol eder.
  4. İlk durum ifadesi doğru ise konsola “Değer 1” mesajı yazılır.
  5. Break ifadesi, bir koşul doğrulandıktan sonra switch ifadesinin tamamını kesmek için kullanılır.
  6. Varsayılan koşul özel bir durumdur. Bu sadece, eğer hiçbir durum ifadesi doğru olarak değerlendirilmezse, varsayılan koşul için ifadeler kümesini çalıştıracağınız anlamına gelir.

Yukarıdaki kod düzgün bir şekilde girilirse ve program başarıyla yürütülürse, aşağıdaki çıktı görüntülenir. Çıktı, hiçbir koşul karşılanmadığı için varsayılan değer olan “Value is different”ı yazdırır.

Çıktı:

Anahtar bildirimi

3) Döngü sırasında

While döngüsü yinelemeli amaçlar için kullanılır. Belirli bir dizi ifadeyi belirli sayıda tekrarlamak istiyorsanız, while döngüsünün kullanıldığını varsayalım.

Aşağıdaki örneğimizde 'i' değişkeninin değerini görüntülemek için while ifadesini kullanıyoruz. While ifadesi, değeri 3 kez görüntülemek için kullanılır.

Döngü sırasında

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=3,i=0;
   
   while(i<value)
   {
    Console.WriteLine(i);
    i=i+1;
   }
    Console.ReadKey(); 
  }
 }
}

Code Açıklama:-

  1. İki Tam Sayı değişkenler biri değer, diğeri 'i' olmak üzere tanımlanır. Değer değişkeni while ifademizi yinelememiz gereken üst sınır olarak kullanılır. Ve 'i' yineleme sırasında işlenecek değişkendir.
  2. While ifadesinde 'i'nin değeri sürekli olarak üst limite göre kontrol edilir.
  3. Burada 'i' değerini konsola gösteriyoruz. Ayrıca 'i' değerini de arttırıyoruz.

Yukarıdaki kod doğru bir şekilde girilir ve program başarıyla çalıştırılırsa aşağıdaki çıktı gösterilecektir.

Çıktı:

Döngü sırasında

Burada while ifadesinin 3 kez çalıştırıldığını ve aynı anda artırıldığını görebilirsiniz. Ve her seferinde 'i' değişkeninin mevcut değerini gösteriyordu.

4) döngü için

'For' döngüsü yinelemeli amaçlar için de kullanılır. Örneğin, belirli bir dizi ifadeyi belirli sayıda tekrarlamak istiyorsanız, 'for' döngüsü kullanılır.

Aşağıdaki örneğimizde 'i' değişkeninin değerini görüntülemek için 'for' ifadesini kullanıyoruz. 'For' ifadesi, değeri 3 kez görüntülemek için kullanılır.

Döngü için

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   for(Int32 i=0;i<3;i++)
   {
    Console.WriteLine(i);
   }
    Console.ReadKey(); 
  
  }
 }
}

Code Açıklama:-

  1. 'For' anahtar sözcüğü 'for döngüsü' ifadesini başlatmak için kullanılır.
  2. 'For döngüsü'nde 3 şeyi tanımlarız. Birincisi 'for döngüsü'nde kullanılacak bir değişkenin değerini başlatmaktır.
  3. İkincisi, 'i'nin değerini bir üst sınırla karşılaştırmaktır. Bizim durumumuzda üst sınır 3 (i<3) değeridir.
  4. Son olarak 'i' değerini buna göre artırıyoruz.
  5. Burada 'i' değerini konsola gösteriyoruz.

Yukarıdaki kod doğru bir şekilde girilir ve program başarıyla çalıştırılırsa aşağıdaki çıktı gösterilecektir.

Çıktı:

Döngü için

Burada 'for' ifadesinin 3 kez çalıştırıldığını görebilirsiniz. Ve her seferinde 'i' değişkeninin mevcut değerini gösteriyordu.

SSS

`if` ifadesi aralıkları ve karmaşık Boolean koşullarını ele alırken, `switch` ifadesi bir değeri birden fazla sabit durum etiketiyle karşılaştırır. `switch` birçok ayrı değer için daha temizdir, oysa `if-else` aralıklar, birden fazla değişken ve mantıksal operatörler için uygundur.

İç içe if ifadeleri, bir if ifadesini diğerinin içine yerleştirir; böylece içteki koşul yalnızca dıştaki koşul doğru olduğunda test edilir. Bu, bir programın birbirine bağlı birden fazla koşulu kontrol etmesine olanak tanır, ancak derin iç içe geçme okunabilirliği azaltır.

Bir while döngüsü, her yinelemeden önce koşulunu test eder, bu nedenle sıfır kez çalışabilir. Bir do-while döngüsü ise koşulu gövdeden sonra test eder, bu nedenle her zaman en az bir kez çalışır; bu da menüler ve giriş doğrulama işlemleri için uygundur.

`break` ifadesi bir döngüyü veya switch yapısını anında sonlandırırken, `continue` ifadesi mevcut yinelemenin geri kalanını atlayarak bir sonrakine geçer. Her ikisi de akışı değiştirir, ancak yalnızca `break` döngüyü tamamen sonlandırır.

Üçlü operatör ?: if-else yapısının kompakt bir biçimidir. Bir koşulu değerlendirir, koşul doğru olduğunda ilk değeri, yanlış olduğunda ise ikinci değeri döndürerek özlü, tek satırlık bir atama işlemi gerçekleştirir.

`foreach` döngüsü, bir dizi veya liste gibi bir koleksiyonun her öğesini dizin veya sayaca ihtiyaç duymadan yineleyerek okur. Koleksiyonu güvenli bir şekilde okur ve sık karşılaşılan "bir eksik" ve "aralık dışı" hatalarını önler.

Evet. GitHub Copilot, Visual Studio içindeki bir yorumdan veya yöntem adından yola çıkarak if, switch, while ve for bloklarını önerir. VS Code. RevCopilot'un bir eksik değer hatası verebileceği için, her öneriyi doğru koşullar ve döngü sınırları açısından inceleyin.

ML.NET işlem hatları, özellik değerlerine göre dallanma yapmak için C# koşullu ifadelerini ve eğitim satırları üzerinde yineleme yapmak için döngüleri kullanır. Aynı if, switch ve for mantığı, verileri hazırlar ve tahminleri yönlendirir, böylece verileri korur.ping Güçlü tipli bir makine öğrenimi iş akışı.

Bu yazıyı şu şekilde özetleyin: