Home TürkçeC# Dönüş Değerleri; Artık Gözüm Üzerinizde

Dönüş Değerleri; Artık Gözüm Üzerinizde

by Fatih Boy
0 comment

   Yazılımcı; bilgisayar karşısındaki en büyük savaşını her zaman hata ayıklarken verir. Bunu unutmayın! Bu savaşın en can alıcı anı ise uzun bir debug oturumunun sonunda bir fonksiyonun dönüş değerini bir değişkene atamadan döndüğünü farkettiği andır.. Öyle ki; bu dönüş değerinin doğru hesaplanıp hesaplanmadığını anlayabilmek için uygulamayı sonlandırıp değişken atamasını yapıp tüm süreci baştan yaşamak zorunda kalır.

   Şimdi bu noktada, eminim ki bazılarınız hocam Edit & Continue sayesinde bu işlemi yeni bir debug oturumuna gerek kalmadan yapabiliriz diyecektir. Bu durumda, Edit & Continue’nin tüm senaryolar için desteklenmediğini hatırlatmak isterim 😉 En basitinden; Lambda ifadelerle ilgili bir değişiklik yapmayı deneyin.. Daha da kötüsü, debug sırasında fonksiyondan çıktıktan sonra dönüş değerini öğrenemek isteyin…

   Herkes gibi ben de benzer problemleri yaşamış olmanın verdiği deneyimle fonksiyon dönüş değerini her zaman bir değişkene atayıp bunu dönmeyi alışkanlık edindim.

    Bu kadar ön bilginin ardından sizlere Visual Studio 2013 ile birlikte gelen ve bizleri yukarıdaki sıkıntılardan kurtaran yeni bir özellikten bahsedeceğim; dönüş değerlerinin otomatik kaydedilmesi.

   Özelliğin ne olduğunu anlatmaksa nasıl çalıştığını anlatmak daha kısa süreceğinden doğrudan örnekleyim… Aşağıdaki örnek uygulamayı ele alalım;

using System;

namespace DonusDegeriTest {
    class Program {
        static void Main(string[] args) {
            var artik = new OrnekSinif1();

            Console.WriteLine(artik.Rahatca().TakipEdiyorum());
        }
    }

    public class OrnekSinif1 {
        public OrnekSinif2 Rahatca() {
            return new OrnekSinif2();
        }
    }

    public class OrnekSinif2 {
        public string TakipEdiyorum() {
            return "Artık dönüş değerini rahatça takip edebiliyorum";
        }
    }
}

 

   Bu örnek için Visual Studio 2013’te 8. satıra bir break point koyup uygulamayı debug oturumunda başlatın.

Visual Studio 2013 hata ayıklama oturumu

   F10 ile bir soraki satıra geçiş yaptığımızda ekranımız şu şekilde olacaktır;

F10 ile bir sonraki satıra geçiş yapıyoruz

   Bu noktada durup alt bölümdeki Locals penceresine baktığımızda mevcuttaki değişkenlerin değerlerine ulabildiğimizi görebiliyoruz; fakat dönüş değerleri yok.

   Dönüş değerlerini görebilmemiz için Autos penceresine geçememiz yeterli olacaktır;

Autos penceresinde çağrılan fonksiyonların geri dönüş değerlerini görebiliriz

Autos penceresi, yakından

   Autos penceresinde yer alan aşağıdaki iki girdiye dikkatinizi çekerim;

DonusDegeriTest.OrnekSinif1.Rahatca returned

DonusDegeriTest.OrnekSinif2.TakipEdiyorum returned

 

   Bu değerler sırasıyla OrnekSinif1 içerisindeki Rahatca ve OrnekSinif2 içerisindeki Takip Ediyorum fonksiyonlarının dönüş değerlerini vermekte.

   Bir fonksiyonun dönüş değerini almanın bir başka yolu ise Immediate Window içerisinde $ReturnValue yazıp enter tuşuna basmaktır;

Immediate Window, yakından

    Dikkat ederseniz $ReturnValue sadece son dönüş değerini vermekte.

Visual Studio 2013, Hata ayıklama ekranı

   Visual Studio 2013 ile birlikte gelen bu özellikler sayesinde artık geri dönüş değerini saklama pratiğine ihtiyacınız kalmayacak 🙂

Şu Yazıları da Sevebilirsiniz

Leave a Comment

* Bu formu kullanarak, verilerinizin bu web sitesi tarafından saklanması ve kullanılmasını kabul ediyorsunuz.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bunu kabul ettiğinizi varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul Et Daha Fazla Bilgi