Derya Dok Kişisel Blog

Derya Dok Kişisel Blog

C# Notlarım 15: String Metotları

Herkese merhaba. 😊 Daha önceki yazımda hazır array metotlarını incelemiştik. Aynı şekilde string veri türünün de hazır metotları bulunuyor. String veri türü de neredeyse bütün programlama dilleri içerisinde yer alıyor. Programlamada string değişken türleri ile çok haşır neşir olacağımız için, hazır string metotları kullanmak programlamada işimizi çok kolaylaştıracak. Daha fazla uzatmadan hemen metotlara geçelim.

Read More

C# Notlarım 14: Array (Dizi) Metotları

Herkese merhabaa. 😊 Daha önceki yazılarımda metotlara giriş yapmış daha sonrasında da biraz daha detaylı olarak metot yazımını incelemiştik. Şimdi C# içerisinde built-in metot olarak anılan hazır metotları inceleyeceğiz. Bu hazır metotlar sayesinde çok daha kolay ve pratik şekilde istediğimiz işlemleri yapabiliyoruz. Bu yazıda özellikle array metotlarını anlatacağım. Array neredeyse bütün programlama dillerinde bulunan bir yapı olduğu için daha önceden kullandıysanız size çok uzak gelmeyecektir.

Array (Dizi) Metotları

Sort (Sıralama) Metodu:

Sort metodu dizi içerisindeki elemanların sıralanmasını sağlar. Nümerik diziler için küçükten büyüğe doğru bir sıralama yapar. Alfabetik dizilerde harf sırasına göre küçükten büyüğe bir sıralama yapar. Hemen bir örnek yapalım.

static void Main(string[] args)
{
    Random rnd = new Random();
    int[] array = new int[10];
    for (int i = 0; i < 10; i++)
    {
        array[i] = rnd.Next(0, 100);
    }

    Console.Write("Rastgele Nümerik Dizi: ");

    WriteArray(array);

    char[] alphabetic = new char[10];

    for (int i = 0; i < 10; i++)
    {
        alphabetic[i] = (char)rnd.Next(65, 91);
    }

    Console.WriteLine();
    Console.Write("Rastgele Alfabetik Dizi: ");
    WriteArray(alphabetic);
    Console.WriteLine("-----------------------------");
    Console.WriteLine();

    //Sort Metodu
    Array.Sort(array);
    Console.Write("Sıralı Nümerik Dizi: ");
    WriteArray(array);

    Console.WriteLine();

    Array.Sort(alphabetic);
    Console.Write("Sıralı Alfabetik Dizi: ");
    WriteArray(alphabetic);
    Console.ReadKey();
}

Array_Sort

Burada WriteArray metodunu kendim oluşturdum. Her seferinde dizileri yazdırmak için for döngüsü kurmak istemedim. Bu metodu görmek için GitHub repoma bakabilirsiniz.

Reverse (Ters Çevirme) Metodu:

Reverse metodu ile bir diziyi tam tersi biçimde sıralayabiliriz. Burada sıralama işlemi yapılırken büyüklük küçüklüğe bakılmaz. Diziyi olduğu gibi tersine çevirir. Mesela büyükten küçüğe doğru bir sıralama istiyorsak; önce Sort metodunu kullanıp daha sonra Reverse metodu ile tersine çevirebiliriz.

static void Main(string[] args)
{
    Random rnd = new Random();
    int[] array = new int[10];
    for (int i = 0; i < 10; i++)
    {
        array[i] = rnd.Next(0, 100);
    }

    Console.Write("Rastgele Nümerik Dizi: ");

    WriteArray(array);

    char[] alphabetic = new char[10];

    for (int i = 0; i < 10; i++)
    {
        alphabetic[i] = (char)rnd.Next(65, 91);
    }

    Console.WriteLine();
    Console.Write("Rastgele Alfabetik Dizi: ");
    WriteArray(alphabetic);
    Console.WriteLine("-----------------------------");
    Console.WriteLine();

    //Reverse Metodu
    Array.Reverse(array);
    Console.Write("Ters Nümerik Dizi: ");
    WriteArray(array);

    Console.WriteLine();

    Array.Reverse(alphabetic); 
    Console.Write("Ters Alfabetik Dizi: ");
    WriteArray(alphabetic);
    Console.ReadKey();
}

Array_Reverse

IndexOf Metodu:

IndexOf array metodunu kullanarak dizi içerisinde ulaşmak istediğimiz bir elemanın indeks numarasını öğrenebiliriz. Bu metodu kullanarak dizi içerisinde arama yapabilir. Bulunan indeksi diziye verdiğimizde aranan sonucu kullanabiliriz.

static void Main(string[] args)
{
    string[] cities = { "Bursa", "İstanbul", "Ankara", "İzmir" };
    Console.WriteLine("Şehirler: ");
    WriteArray(cities);

    int index = Array.IndexOf(cities, "İstanbul");

    Console.WriteLine("İstanbul'un indeksi: " + index);

    Console.ReadKey();
}

Array_IndexOf

Copy Metodu:

Bir diziyi başka bir diziye kopyalamak istediğimizde Copy metodunu kullanabiliriz. Bu metot parametre olarak
kopyalanan dizi, kopyalanacak dizi ve kaç elemanın kopyalanacağını alır.

static void Main(string[] args)
{
    Random rnd = new Random();
    int[] array = new int[10];
    for (int i = 0; i < 10; i++)
    {
        array[i] = rnd.Next(0, 100);
    }

    Console.Write("Rastgele Nümerik Dizi: ");

    WriteArray(array);

    char[] alphabetic = new char[10];

    for (int i = 0; i < 10; i++)
    {
        alphabetic[i] = (char)rnd.Next(65, 91);
    }

    Console.WriteLine();
    Console.Write("Rastgele Alfabetik Dizi: ");
    WriteArray(alphabetic);
    Console.WriteLine("-----------------------------");
    Console.WriteLine();

    int[] copiedArray = new int[10];
    Array.Copy(array, copiedArray, 10);
    Console.Write("Kopyalanmış Nümerik Dizi: ");
    WriteArray(copiedArray);

    char[] copiedChar = new char[10];
    Array.Copy(alphabetic, copiedChar, 10);
    Console.Write("Kopyalanmış Alfabetik Dizi: ");
    WriteArray(copiedChar);

    Console.ReadKey();
}

Array_Copy

Clear Metodu:

Verilen dizinin içerisindeki elemanların istediğimiz kadarını silmemizi sağlar. Metot 3 argüman alır. Bunlardan biri silme işlemi yapılacak olan dizi, diğeri silme işlemine hangi indeksten başlayacağı ve son olarak da kaç eleman sileceği. Bu metodu kullanarak dizinin 0. indeksini verip dizinin boyutu kadar silmesi gerektiğini söyleyerek baştan sona kadar sildirebiliriz.

static void Main(string[] args)
{
    Random rnd = new Random();
    int[] array = new int[10];
    for (int i = 0; i < 10; i++)
    {
        array[i] = rnd.Next(0, 100);
    }

    Console.Write("Rastgele Nümerik Dizi: ");

    WriteArray(array);

    Array.Clear(array,1,2);
    WriteArray(array);
    Console.ReadKey();
}

Array_Clear

Örnekte de olduğu gibi burada 1. indeksteki elemandan başlayarak 2 eleman sildi ve bunların yerine int’in varsayılan değeri olan 0’ı ekrana yansıttı.

Bu yazıda Array içerisinde bulunan built-in metotları inceledik. Bu metotları kullanarak çok daha kolay bir şekilde işlemlerinizi gerçekleştirebilirsiniz. Metot alıştırmaları yapmak istiyorsanız bu metotları kendiniz yapmayı deneyin. Bir sonraki yazıya kadar kendinize çok iyi bakın.😊

C# Notlarım 13: Metotlar

Herkese merhaba. 😊 Bu yazıda modüler programlamanın ilk basamağı olan metotların biraz daha içine gireceğiz. Metotlarda kullanılan ref ve out anahtar kelimelerine, method overloading yöntemine ve recursive (rekürsif) metotlara yakından bakacağız. C# üzerinde metotlar oluştururken bunları çok yoğun bir şekilde olmasa da ara ara pratiklik kazandırması için bunları kullanıyoruz. Lafı daha fazla uzatmadan hemen konuya geçelim.

Read More

C# Notlarım 12: Metotlara Giriş

Herkese merhabaa. 😊 Bu yazıda modüler programlamaya giriş yapacağım. Modüler programlama; bir bütünün elemanlarının birbirlerinden bağımsız çalışması olarak açıklanabilir. Modüler programlamanın en küçük parçasıdır. Bizi kod tekrarından kurtararak programın daha hızlı çalışmasına yardımcı olur. C# içerisinde birçok gömülü metot olduğu gibi kendi metotlarımızı da yazabiliriz. Lafı daha fazla uzatmadan metotlara giriş yapalım.

Read More

C# Notlarım 11: Arrays (Diziler) Kullanımı

Herkese merhabaa. 😊 Bu yazıda Array, Multidimensional Array, Jagged Array ve foreach döngüsünün kullanımını inceleyeceğiz. Şu anda değişkenler içerisinde sadece bir adet değer tutabiliyoruz. Ama gerçek programları düşündüğümüzde birden fazla veri tutmak zorundayız. Bu noktada yardımımıza Array’ler yetişiyor. Array kullanarak aynı tipe sahip birden fazla veriyi bir arada tutabiliriz. Daha basit bir anlatımla anlatacak olursak; int tipinde 5 adet veri tutacağımızı varsayalım. Daha uzatmadan C# Diziler konusuna giriş yapalım. 😊

Read More

Damızlık Kızın Öyküsü – Kitap İncelemesi

Herkese merhaba. 😊 Bu yazımda son dönemlerde popülerliği artan bir kitaptan bahsetmek istiyorum; Damızlık Kızın Öyküsü. Sanırım her yazımda bahsediyorum ama distopya türünde yazılmış olan kitaplar beni biraz korkutsa da okumaktan zevk alıyorum. Margaret Atwood’un öyküsünü de çok severek okudum. Zaten kitap o kadar akıcı ki kendinizi yazarın kollarına bırakıp Gilead Cumhuriyetinde yaşamaya başlıyorsunuz. Lafı daha fazla uzatmadan Damızlık Kızın Öyküsünün incelemesine geçelim. 😊

Read More

C# Notlarım 10: Mantıksal Operatörler ve Ternary If

Herkese merhabaa. 😊 Bu yazımda mantıksal operatörler ve ternary if yapısını inceleyeceğiz. Mantıksal operatörler genellikle birden fazla durumun doğruluğunu ya da yanlışlığını döndürür. Programlamada kullandığımız mantıksal operatörler mantık operatörleri ile benzerdir. Mantık konusuna ufak bir giriş yaptıktan sonra programlama içerisindeki kullanımını detaylı bir şekilde göreceğiz. Sözü daha fazla uzatmadan mantıksal operatörler konusuyla girişi yapalım.

Read More

Gezi Günlüklerim – Topkapı Sarayı

Herkese merhabaa 😊 Gezi yazılarıma Osmanlı’nın asırlar boyunca yönetim merkezi olarak kullandığı Topkapı Sarayı ile devam ediyorum. Topkapı Sarayı 1460 – 1468 yılları arasında Fatih Sultan Mehmet’in kafasındaki imparatorluk imgesine göre inşa edilen bir saray. Oldukça büyük bir alanı kaplayan sarayda padişahlar hem özel hayatlarına devam ediyorlar hem de devleti yönetiyorlardı. Lafı daha da uzatmadan gezdiğim yerleri anlatayım. 😅

Read More

C# Notlarım 9: Jumping Keywords

Herkese merhaba. 😊 Programlama yaparken döngü ve koşulları oldukça sıklıkla kullanacağımızı söylemişim. Koşul gerçekleştiğinde ya da döngü içerisinde bazı durumlarda başka bir yere atlamak gerekebilir. Bu gibi senaryolarda özel olarak kullandığımız C# Jumping Keywords yapıları bulunuyor. Bu kelimeler break, continue, return ve go to. Kodunuzun herhangi bir yerinde bu kelimeleri kullanarak program akışını ayarlayabilirsiniz. Daha fazla uzatmadan bu kelimelerin anlamlarına ve kullanım örneklerine göz atalım.

Read More

C# Notlarım 8: For Döngü Yapısı

Herkese merhaba. 😊 Bu yazıda C# içerisindeki en temel döngülerden birisi olan for döngüsünü inceleyeceğiz. For döngüsünü temel olarak bir işlemi belli bir sayıda tekrar etmek için kullanıyoruz. Bu işlemi while döngüsü ile de oldukça rahat bir şekilde yapabiliriz. Ancak yazım kolaylığı açısından belli bir iterasyonda devam eden işlemlerimizi for döngüsü ile yapmayı tercih ediyoruz. For döngüsünün yazım biçimini gördükten sonra çok daha detaylı bir şekilde incelemeye devam edelim. 😊

Read More

Page 1 of 4

Powered by WordPress & Theme by Anders Norén