C#
Veri modeli
Uygulamanın veri modelini ve koleksiyonları kurarsın.
Book sınıfı ve kitap listesi
Kitap listesi uygulamasında her kitabı temsil etmek için bir Book sınıfı tanımlayacağız. Bu sınıfın Title (başlık) ve PageCount (sayfa sayısı) olmak üzere iki alanı olacak. Ayrıca tüm kitapları tutmak için bir List<Book> kullanacağız.
List<T>, C#'ta dinamik dizi sağlayan bir koleksiyondur. using System.Collections.Generic; using'i ile gelir. Add metoduyla eleman ekler, [index] ile elemana erişirsin. Bu derste Book sınıfını, books adlı statik listeyi ve ilk kitabı ekleyeceğiz.
Statik alan ile paylaşım
Kitap listesini static List<Book> books olarak sınıf düzeyinde tutacağız. Böylece AddBook ve ListBooks gibi metotlar bu listeye kolayca erişebilir. Statik alan, sınıfın tüm örnekleri arasında paylaşılır; bizim küçük programımızda tek bir liste yeterlidir.
Örnek: static List<Book> books = new List<Book>(); tanımı, program başladığında boş bir liste oluşturur. Sonra books.Add(new Book { ... }) ile kitap ekleriz. Bu yapı, sonraki derslerde metotların listeyi paylaşmasını sağlar.
Uygulama Book sınıfı ve liste ekle
Dosyanın başına using System.Collections.Generic; ekle. Book adında bir sınıf tanımla; public string Title; ve public int PageCount; alanları olsun. Program sınıfına static List<Book> books = new List<Book>(); alanını ekle. Main içinde books.Add(new Book { Title = "Yüzüklerin Efendisi", PageCount = 350 }); ile bir kitap ekle, sonra Console.WriteLine(books[0].Title + " - " + books[0].PageCount + " sayfa"); ile yazdır. En son PrintMenu(); çağrısı kalsın.
Örnek çözümü göster
using System.Collections.Generic; ekle, class Book { public string Title; public int PageCount; } tanımla, static List<Book> books = new List<Book>(); ekle, Main'de books.Add ve WriteLine ile kitabı yazdır.
Örnek çözüm:
using System;
using System.Collections.Generic;
class Book
{
public string Title;
public int PageCount;
}
class Program
{
static List<Book> books = new List<Book>();
static void PrintMenu()
{
Console.WriteLine("1 - Ekle");
Console.WriteLine("2 - Listele");
Console.WriteLine("3 - Çıkış");
}
static void Main()
{
books.Add(new Book { Title = "Yüzüklerin Efendisi", PageCount = 350 });
Console.WriteLine(books[0].Title + " - " + books[0].PageCount + " sayfa");
PrintMenu();
}
}
Kendini test et
-
Alanı türüyle eşleştir
- Title
- string
- PageCount
- int
- List<Book>
- kitap koleksiyonu
-
List<T> için hangi using gerekli?
List<Book> books = new List<Book>();
- System.Text
- System.Collections.Generic
- System.IO
- System.Linq
Cevabı göster
System.Collections.Generic — Doğru! List<T> System.Collections.Generic ad alanındadır.
-
Book sınıfı tanımı
class Book
{
____ string Title;
public int PageCount;
}
Cevabı göster
class Book
{
public string Title;
public int PageCount;
}
Sıradaki ders: İş mantığı