C# Karar Yapısı (if-else switch-case)

Bu yazımızda sizlerle C#'da karar yapılarının kullanımı hakkında bilgiler vereceğim.

Program içinde karar vermek için kullanılan en basit yapıdır. If..Else deyimi verilen bir şartı değerlendirerek programı şarta uygun durumuna geçirmeye yarar.

Yapı içerisinde kullanılan operatörler aşağıdaki gibidir

< 	Küçüktür
<=	Küçük eşittir
> 	Büyüktür
>=	Büyük eşittir
!=	Eşit değildir
==	Eşittir

if Yapısı

Sadece koşulun doğru olduğu durumda çalışacak kod yapısında kullanılır. Koşul doğru değilse kodlarımız çalışmayacaktır. Yapısı aşağıdaki gibidir.
if ()
{
     ;
}

Yapıyı aşağıdaki örnekte daha net anlayabiliriz.

    static class Program
    {
        static void Main()
        {
            Console.Write("Bir Sayı Giriniz:");
            int sayi = Convert.ToInt32(Console.ReadLine());

	    //Eğer girdiğimiz sayı 0'dan büyükse ekrana Sayı 0'dan büyüktür yazdıracağız.
	    if (sayi > 0)
            {
                Console.WriteLine("sayı 0\'dan büyüktür.");
            }
            Console.Read();
        }
    }

if-else Yapısı

Koşulun doğru olduğu durumda ve yanlış olduğu durumda da kodlarımızın çalışmasını sağlayan yapıdadır. Yapısı aşağıdaki gibidir.
if ()
{
     ;
}
else
{
     ;
}

Yapıyı aşağıdaki örnekte daha net anlayabiliriz.

    static class Program
    {
        static void Main()
        {
            Console.Write("Bir Sayı Giriniz:");
            int sayi = Convert.ToInt32(Console.ReadLine());

	    //Eğer girdiğimiz sayı 0'dan büyükse
            //ekrana Sayı 0'dan büyüktür yazdıracağız.
            //Eğer girdiğimiz sayı 0 veya 0'dan küçükse
            //ekrana Sayı 0'dan küçüktür yazdıracağız.
	    if (sayi > 0)
            {
                Console.WriteLine("sayı 0\'dan büyüktür.");
            }
            else
            {
                Console.WriteLine("sayı 0 yada 0\'dan küçüktür.");
            }
            Console.Read();
        }
    }


if-else if-else Yapısı

Birden fazla koşulun olduğu durumda kullanılır ve her bir koşul için ayrı kod bloku çalışır. Yapısı aşağıdaki gibidir.
if ()
{
     ;
}
else if ()
{
     ;
}
else
{
     ;
}

Yapıyı aşağıdaki örnekte daha net anlayabiliriz.

    static class Program
    {
        static void Main()
        {
            Console.Write("Bir Sayı Giriniz:");
            int sayi = Convert.ToInt32(Console.ReadLine());

	    //Eğer girdiğimiz sayı 0'dan büyükse
            //ekrana Sayı 0'dan büyüktür yazdıracağız.
            //Eğer girdiğimiz sayı 0 veya 0'dan küçükse
            //ekrana Sayı 0'dan küçüktür yazdıracağız.
	    if (sayi == 0)
            {
                Console.WriteLine("sayı 0\'dır.");
            }
	    else if (sayi > 0)
            {
                Console.WriteLine("sayı 0\'dan büyüktür.");
            }
            else
            {
                Console.WriteLine("sayı 0\'dan küçüktür.");
            }
            Console.Read();
        }
    }

switch-case Yapısı

if yapısından farklı olarak değişkenin durumuna göre blok çalıştıran bir yapıya sahiptir. Yapısı aşağıdaki gibidir.
            switch ()
            {
                case :
                    {

                        break;
                    }
                case :
                    {

                        break;
                    }
                case :
                    {

                        break;
                    }
                default:
                    {

                        break;
                    }
            }

Yapıyı aşağıdaki örnekte daha net anlayabiliriz.

    static class Program
    {
        static void Main()
        {
            Console.Write("Bir Sayı Giriniz:");
            int sayi = Convert.ToInt32(Console.ReadLine());
            switch (sayi)
            {
                case 1:
                    {
                        Console.WriteLine("Sayı 1\'dir.");
                        break;
                    }
                case 2:
                    {
                        Console.WriteLine("Sayı 2\'dir.");
                        break;
                    }
                case 3:
                    {
                        Console.WriteLine("Sayı 3\'tür.");
                        break;
                    }
                default:
                    {
                        Console.WriteLine("Sayı 1, 2 veya 3 değildir.");
                        break;
                    }
            }
            Console.Read();
        }
    }