CodeBlanks Logo Icon CodeBlanks

Soru ekleme

C# kursu · Orta seviye · Ders 43/116

AddQuestion metoduyla quiz'e soru eklemeyi öğrenirsin.

Quiz sınıfı ve soru ekleme

Bu derste Quiz sınıfını tanımlayacağız. İçinde soruları tutan bir List<Question> ve yeni soru ekleyen AddQuestion metodu olacak. Ayrıca Count metodu kaç soru olduğunu söyleyecek.

List<Question>, dinamik büyüyen bir koleksiyondur. questions.Add(q) ile yeni soru eklenir. questions.Count özelliği liste uzunluğunu verir. AddQuestion metodu dışarıdan bir Question alıp listeye ekler.

List<Question> kullanımı

List<Question>, C#'ın generic koleksiyonlarındandır. using System.Collections.Generic; satırı dosyanın başında olmalıdır. Tanımı: private List<Question> questions = new List<Question>();.

Bu liste boş başlar. questions.Add(q) ile sonuna eleman eklenir. questions.Count özelliği uzunluğu verir. List büyüdükçe kapasitesi otomatik artar; önceden boyut belirtmek gerekmez.

Uygulama Soru ekle ve say

Quiz sınıfına private List<Question> questions = new List<Question>(); alanını, public void AddQuestion(Question q) metodunu ve public int Count() metodunu ekle. Main'de bir Quiz üret, bir soru ekle ve Count'u yazdır.

Örnek çözümü göster
Quiz sınıfını `class Quiz { private List<Question> questions = new List<Question>(); public void AddQuestion(Question q) { questions.Add(q); } public int Count() { return questions.Count; } }` şeklinde yaz. Main içine `var quiz = new Quiz(); quiz.AddQuestion(new Question { Text = "Başkent?", Answer = "Ankara" }); Console.WriteLine(quiz.Count());` yaz.
Örnek çözüm:
using System;
using System.Collections.Generic;

class Question
{
    public string Text;
    public string Answer;
}

class Quiz
{
    private List<Question> questions = new List<Question>();

    public void AddQuestion(Question q)
    {
        questions.Add(q);
    }

    public int Count()
    {
        return questions.Count;
    }
}

class Program
{
    static void Main()
    {
        var quiz = new Quiz();
        quiz.AddQuestion(new Question { Text = "Başkent?", Answer = "Ankara" });
        Console.WriteLine(quiz.Count());
    }
}

Kendini test et

  1. Boşluğu doldur: AddQuestion imzası

    class Quiz
    {
        public void AddQuestion(____)
        {
            questions.Add(q);
        }
    }
    Cevabı göster
    class Quiz
    {
        public void AddQuestion(Question q)
        {
            questions.Add(q);
        }
    }
  2. Quiz sınıfında soruları saklamak için hangisi uygundur?

    • List<Question>
    • string
    • int
    • Question
    Cevabı göster

    List<Question> — Doğru. `List<Question>` birden fazla soruyu dinamik biçimde tutar.

  3. Eşleştir: Quiz parçaları

    List<Question>
    soru listesi
    AddQuestion
    soru ekler
    Count
    soru sayısı
    new Quiz
    yeni quiz üretir

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