Ders kitabının açık uçlu alıştırmaları. Bunlar çoktan seçmeli sınav sorusu değil — düşünmeni, araştırmanı, kendi cümlelerinle anlatmanı isteyen etkinlikler. Kitabın verdiği örnek yanıtlar kapalı duruyor; önce kendin dene.
Alıştırma 1myders hazırladı
C# programlama dilinde yerel değişkenler ile sınıf düzeyindeki (global) değişkenlerin varsayılan değer alma davranışlarını karşılaştırınız ve 'default' anahtar sözcüğünün bu süreçteki rolünü açıklayınız.
Yanıt / ipucu
Yerel değişkenlere başlangıç değeri atanmadığında derleyici hata verirken, sınıf düzeyindeki değişkenler otomatik olarak varsayılan değerlerini (int için 0, string için null vb.) alır. 'default' anahtar sözcüğü, yerel değişkenlere veri tipine uygun güvenli varsayılan değerlerin manuel olarak atanmasını sağlar.
Alıştırma 2myders hazırladı
Bir metotta 'ref' ve 'out' anahtar sözcüklerinin kullanım senaryolarını inceleyiniz. Hangi durumlarda 'ref', hangi durumlarda 'out' tercih edilmelidir? Başlangıç değeri atama zorunluluğu açısından aralarındaki farkı belirterek açıklayınız.
Yanıt / ipucu
Eğer metota gönderilecek değişkenin önceden tanımlanmış bir değeri varsa ve bu değer metot içinde güncellenecekse 'ref' tercih edilir. Eğer değişkenin başlangıç değeri yoksa ve metot içinden dışarıya değer çıkarılacaksa 'out' kullanılır; çünkü 'out' parametrelerine metot çağrılmadan önce değer atama zorunluluğu yoktur.
Alıştırma 3myders hazırladı
Tek bir geri dönüş değerine (return) sahip bir metottan, 'out' anahtar sözcüğünü kullanarak nasıl birden fazla değer döndürebileceğinizi gösteren bir senaryo tasarlayınız.
Yanıt / ipucu
Örneğin, bir bölme işlemi yapan metotta bölüm sonucunu normal 'return' ile döndürürken, kalan değerini 'out int kalan' parametresi ile güncelleyerek dışarıya aktarabiliriz. Böylece tek bir metot çağrısıyla hem bölüm hem de kalan bilgisine aynı anda erişmiş oluruz.
Alıştırma 4myders hazırladı
Metotların aşırı yüklenmesi (overloading) kavramını açıklayarak, derleyicinin aynı isme sahip iki metodu birbirinden ayırt edebilmesi için metot imzalarında nelerin farklı olması gerektiğini tartışınız.
Yanıt / ipucu
Aşırı yüklemede metot isimleri aynı kalırken, parametrelerin sayısı, veri tipleri veya sıraları farklı olmalıdır. Sadece geri dönüş tipinin farklı olması aşırı yükleme için yeterli değildir; derleyici metotları parametre listesindeki bu imza farklılıklarına göre ayırt eder.
Alıştırma 5myders hazırladı
Günlük hayatta veya hazır C# kütüphanelerinde (örneğin String.Format veya Console.WriteLine) karşılaştığınız metot aşırı yükleme (overloading) örneklerini araştırınız ve bu özelliğin yazılımcıya sağladığı kolaylıkları değerlendiriniz.
Yanıt / ipucu
Console.WriteLine metodu int, double, string gibi farklı veri türlerini ekrana yazdırmak için onlarca kez aşırı yüklenmiştir. Bu durum, yazılımcının her veri türü için 'YazdirInt', 'YazdirString' gibi ayrı metot isimleri ezberlemek zorunda kalmamasını ve daha temiz kod yazmasını sağlar.