CodeBlanks Logo Icon CodeBlanks

Birleştirme

C# kursu · Orta seviye · Ders 116/116

Tüm katmanları birleştirerek çalışan bir uygulama yazarsın.

Konsol menüsü ile birleştirme

Son ders tüm parçaları Main içinde birleştirir: kitap ekle, adedini yazdır, dosyaya kaydet. Bu, projenin çalışır bütün halidir.

Bir menü döngüsü de kurulabilir: while ile kullanıcıdan komut okunur, switch ile dağıtılır. Bu derste basit bir akışla başlayıp kitap ekleme, listeleme ve kaydetme adımlarını arka arkaya yapacaksın.

Akış tasarımı

İyi bir Main akışı: önce veriyi hazırla (kitap ekle), sonra sorgula (FindByAuthor veya Count), en son kaydet (Save). Her adım bir önceki dersin kazandığı bir üyeyi çağırır.

Bu yapı, projenin birikimli doğasını gösterir: her ders bir tuğla koydu, son ders tuğlaları bir bina haline getirir. İleride menü döngüsü ve hata yönetimi de ekleyebilirsin.

Uygulama Tüm akışı birleştir

Aşağıdaki Library sınıfı tüm metotlarıyla hazır. Main içinde: iki kitap ekle (lib.Add), adedini yazdır (lib.Count), dosyaya kaydet (lib.Save). Adedi Console.WriteLine ile yazdır.

Örnek çözümü göster
lib.Add(new Book { Title = "Suç ve Ceza", Author = "Dostoyevski" }); lib.Add(new Book { Title = "Karamazov Kardeşler", Author = "Dostoyevski" }); Console.WriteLine(lib.Count); lib.Save("books.txt");
Örnek çözüm:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.Json;

class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
}

class Library
{
    private List<Book> _books = new List<Book>();

    public void Add(Book b) => _books.Add(b);

    public int Count => _books.Count;

    public IEnumerable<Book> FindByAuthor(string author)
    {
        return _books.Where(b => b.Author == author);
    }

    public void Save(string path)
    {
        string text = JsonSerializer.Serialize(_books);
        File.WriteAllText(path, text);
    }
}

class Program
{
    static void Main()
    {
        var lib = new Library();
        lib.Add(new Book { Title = "Suç ve Ceza", Author = "Dostoyevski" });
        lib.Add(new Book { Title = "Karamazov Kardeşler", Author = "Dostoyevski" });
        Console.WriteLine(lib.Count);
        lib.Save("books.txt");
    }
}

Kendini test et

  1. Adımı işleve eşle

    Add
    Kitap ekle
    Count
    Adedi yazdır
    FindByAuthor
    Yazara ara
    Save
    Dosyaya kaydet
  2. Projeyi birleştiren neresi?

    • Main metodu
    • Book sınıfı
    • using satırı
    • Yorumlar
    Cevabı göster

    Main metodu — Doğru. Main metodu tüm parçaları çağırıp birleştirir.

  3. Save çağrısını tamamla

    lib.____("books.txt");
    Cevabı göster
    lib.Save("books.txt");

Orta seviye bölümündeki tüm dersler