Soru ekleme
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
-
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); } } -
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.
-
Eşleştir: Quiz parçaları
- List<Question>
- soru listesi
- AddQuestion
- soru ekler
- Count
- soru sayısı
- new Quiz
- yeni quiz üretir