İşlev yordamları (Visual Basic)

Function Yordam, ve End Function deyimlerinin içine alınmış Function bir dizi Visual Basic deyimidir. Yordam Function bir görev gerçekleştirir ve ardından denetimi çağıran koda döndürür. Denetimi döndürdüğünde, çağıran koda da bir değer döndürür.

Yordam her çağrıldığında deyimleri, deyiminden sonraki Function ilk yürütülebilir deyimle başlayıp ilk End Function, Exit Functionveya Return deyimiyle karşılaşıldığında biter.

Modülde, sınıfta veya yapıda bir yordam tanımlayabilirsiniz Function . Varsayılan olarak, Public uygulamanızı tanımladığınız modüle, sınıfa veya yapıya erişimi olan herhangi bir yerden çağırabileceğiniz anlamına gelir.

Bir Function yordam, çağıran kod tarafından ona geçirilen sabitler, değişkenler veya ifadeler gibi bağımsız değişkenleri alabilir.

Bildirim söz dizimi

Yordam bildirme Function söz dizimi aşağıdaki gibidir:

[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
    [Statements]
End Function

Değiştiriciler, erişim düzeyini ve aşırı yükleme, geçersiz kılma, paylaşma ve gölgelendirmeyle ilgili bilgileri belirtebilir. Daha fazla bilgi için bkz . İşlev Deyimi.

Her parametreyi Alt Yordamlar için yaptığınız gibi bildirirsiniz.

Veri türü

Her Function yordamın, her değişkende olduğu gibi bir veri türü vardır. Bu veri türü deyimindeki As Function yan tümcesi tarafından belirtilir ve işlevin çağıran koda döndürdüğü değerin veri türünü belirler. Aşağıdaki örnek bildirimler bunu gösterir.

Function Yesterday() As Date
End Function

Function FindSqrt(radicand As Single) As Single
End Function

Daha fazla bilgi için bkz. İşlev Deyimindeki "Parçalar".

Değer döndürme

Bir Function yordamın çağıran koda geri gönderdiği değer, dönüş değeri olarak adlandırılır. Yordam şu iki yoldan biriyle bu değeri döndürür:

  • dönüş değerini belirtmek için deyimini Return kullanır ve denetimi hemen çağıran programa döndürür. Aşağıdaki örnek bunu göstermektedir.

    Function FunctionName [(ParameterList)] As ReturnType
        ' The following statement immediately transfers control back
        ' to the calling code and returns the value of Expression.
        Return Expression
    End Function
    
  • Yordamın bir veya daha fazla deyiminde kendi işlev adına bir değer atar. Denetim, bir Exit Function veya End Function deyimi yürütülene kadar çağırma programına dönmez. Aşağıdaki örnek bunu göstermektedir.

    Function FunctionName [(ParameterList)] As ReturnType
        ' The following statement does not transfer control back to the calling code.
        FunctionName = Expression
        ' When control returns to the calling code, Expression is the return value.
    End Function
    

dönüş değerini işlev adına atamanın avantajı, denetimin bir Exit Function veya End Function deyimiyle karşılaşana kadar yordamdan dönmemesidir. Bu, bir ön değer atamanızı ve gerekirse daha sonra ayarlamanızı sağlar.

Değer döndürme hakkında daha fazla bilgi için bkz . İşlev Deyimi. Dizileri döndürme hakkında bilgi için bkz . Diziler.

Arama söz dizimi

Atama deyiminin sağ tarafına veya ifadeye adını ve bağımsız değişkenlerini ekleyerek bir yordamı çağırırsınız Function . İsteğe bağlı olmayan tüm bağımsız değişkenler için değerler sağlamanız ve bağımsız değişken listesini parantez içine almanız gerekir. Hiçbir bağımsız değişken sağlanmazsa, isteğe bağlı olarak parantezleri atlayabilirsiniz.

Yordam çağrısının Function söz dizimi aşağıdaki gibidir.

lvalue = işlev adı [( bağımsız değişken listesi )]

If ((functionname [( bağımsız değişken listesi )] / 3) <=ifade ) Then

Bir Function yordamı çağırdığınızda, onun dönüş değerini kullanmanız gerekmez. Bunu yapmazsanız, işlevin tüm eylemleri gerçekleştirilir, ancak dönüş değeri yoksayılır. MsgBox genellikle bu şekilde çağrılır.

Bildirim ve çağrı çizimi

Aşağıdaki Function yordam, diğer iki kenarın değerleri göz önüne alındığında sağ üçgenin en uzun tarafını veya hipotenüsünü hesaplar.

Function Hypotenuse(side1 As Double, side2 As Double) As Double
    Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function

Aşağıdaki örnekte tipik bir çağrısı hypotenusegösterilmektedir.

Dim testLength, testHypotenuse As Double
testHypotenuse = Hypotenuse(testLength, 10.7)

Ayrıca bkz.