Local functions
Metot içinde yerel fonksiyon tanımlamayı öğrenirsin.
Local functions
C# 7 ile birlikte bir metodun içinde yerel fonksiyon (local function) tanımlanabilmiştir. Yerel fonksiyon yalnızca kendini çevreleyen metottan çağrılabilir; başka yerlerde görünmez. Büyük bir hesabı küçük parçalara bölmek için idealdir.
Tanımlama, normal bir metot gibidir; yalnızca static anahtar sözcüğü yazılmaz. Örnek: int Square(int n) { return n * n; }.
Yerel fonksiyon kullanımı
Yerel fonksiyonlar dış metottan önce ya da sonra tanımlanabilir; çağrı sırası önemli değildir. Dış metodun yerel değişkenlerine erişebilirler; bu özellik onlara dışarıdan parametre geçmeden durumu paylaşma kolaylığı verir.
Bu sayede, dışarıdan çağrılmasını istemediğin yardımcı hesapları ayrı bir sınıf metodu yapmak yerine yerel fonksiyon olarak saklar; sınıfın dış yüzeyini sade tutarsın.
Uygulama Local function ile kare al
static void Run() metodu tanımla. Gövdesinde int Square(int n) { return n * n; } yerel fonksiyonunu tanımla ve Console.WriteLine(Square(5)); ile sonucu yazdır. Main içinde Run() çağır.
Örnek çözümü göster
Run gövdesine int Square(int n) { return n * n; } tanımını ve Console.WriteLine(Square(5)); çağrısını ekle, Main içine Run(); yaz.
Örnek çözüm:
using System;
class Program
{
static void Run()
{
// Square yerel fonksiyonunu tanımla ve sonucunu yazdır
int Square(int n) { return n * n; }
Console.WriteLine(Square(5));
}
static void Main()
{
// Run'u çağır
Run();
}
}
Kendini test et
-
İfadeyi anlamına eşle
- void Outer()
- Dış metot
- int Inner()
- Yerel fonksiyon
- return;
- Akışı bırakır
- static
- Sınıf düzeyinde
-
Square(4) çağrısı ne yazdırır?
static void Run() { int Square(int n) { return n * n; } Console.WriteLine(Square(4)); } Run();- 16
- 4
- 8
- 2
Cevabı göster
16 — Doğru. Yerel Square fonksiyonu 4*4 = 16 döndürür.
-
Local function tanımı
static void Run() { ____ Console.WriteLine(Double(5)); }Cevabı göster
static void Run() { int Double(int n) { return n * 2; } Console.WriteLine(Double(5)); }