Yerel İşlevleri Bildirme
Yöntemlerin içinde yardımcı işlevler tanımlayın.
Yerel İşlevleri Bildirme, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.
Yerel İşlev Nedir?
Yerel işlev, başka bir yöntemin içinde tanımlanan bir yöntemdir. Yalnızca kendisini kapsayan üye içinde görünür; bu da yardımcı mantığı kullanıldığı yere yakın tutar ve sınıfın dış yüzeyinden uzaklaştırır.
Yerel İşlev Tanımlama
Yerel işlevi, gövdenin içine iç içe yerleştirilmiş normal bir yöntem gibi yazın. Aynı kapsam içinde, tanımından önce veya sonra onu çağırabilirsiniz.
using System;
public class Program
{
public static void Main()
{
int Square(int n) => n * n;
Console.WriteLine(Square(4));
Console.WriteLine(Square(7));
}
}Blok Gövdeli Yerel İşlevler
Yerel işlevler, tıpkı herhangi bir yöntem gibi birden çok ifade, döngü ve kendi yerel değişkenlerini içeren tam blok gövdelerine sahip olabilir.
using System;
public class Program
{
public static void Main()
{
int Factorial(int n)
{
int result = 1;
for (int i = 2; i <= n; i++) result *= i;
return result;
}
Console.WriteLine(Factorial(5));
}
}Okunabilirliği Geliştirme
Yerel işlevler, yalnızca tek bir yöntemin kullandığı özel bir yöntemle sınıfı gereksiz yere doldurmadan bir mantık parçasına ad vermenizi sağlar. Böylece ilişkili kodlar bir arada tutulur.
using System;
public class Program
{
public static void Main()
{
string Format(string label, int value) => label + ": " + value;
Console.WriteLine(Format("Score", 90));
Console.WriteLine(Format("Level", 3));
}
}Yerel İşlevlerle Özyineleme
Bir yerel işlev kendisini çağırabilir; bu da özyinelemeyi tam olarak gerektiği yerde ifade etmeyi kolaylaştırır.
using System;
public class Program
{
public static void Main()
{
int Fib(int n) => n < 2 ? n : Fib(n - 1) + Fib(n - 2);
for (int i = 0; i < 7; i++)
Console.Write(Fib(i) + " ");
Console.WriteLine();
}
}Yerel İşlevler Kullanımdan Sonra Tanımlanabilir
Yerel değişkenlerin aksine, bir yerel işleve tanımlandığı yerden daha önce yöntemin içinde başvurulabilir. Derleyici, kendisini kapsayan kapsamın tamamını çözümler.
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(Greet("Ada")); // used before declared
string Greet(string name) => "Hello, " + name;
}
}Parametreler ve Dönüş Türleri
Yerel işlevler, normal yöntemlerin yaptığı her şeyi destekler: birden çok parametreyi, dönüş değerlerini, ref ve out parametrelerini ve tür parametrelerini.
using System;
public class Program
{
public static void Main()
{
bool TryHalve(int n, out int half)
{
half = n / 2;
return n % 2 == 0;
}
if (TryHalve(10, out int result))
Console.WriteLine("half is " + result);
}
}Genel Yerel İşlevler
Bir yerel işlev, kendisini kapsayan yöntemden bağımsız olarak kendi tür bağımsız değişkenleri üzerinden parametreleştirilebilir.
using System;
public class Program
{
public static void Main()
{
T Echo<T>(T value)
{
Console.WriteLine("echoing " + value);
return value;
}
int n = Echo(42);
string s = Echo("hi");
Console.WriteLine(n + " " + s);
}
}Yerel İşlevleri İç İçe Yerleştirme
Yerel işlevler kendi içlerinde yerel işlevler barındırabilir. İçteki işlevler yalnızca üst işlevleri içinde görünür; bu da kapsamı sıkı biçimde sınırlandırılmış yardımcı katmanlara olanak tanır.
using System;
public class Program
{
public static void Main()
{
int Compute(int x)
{
int Double(int n) => n * 2;
int AddOne(int n) => n + 1;
return Double(AddOne(x));
}
Console.WriteLine(Compute(5));
}
}Bağımsız Değişkenleri Doğrulamak İçin Yerel İşlevler
Yaygın bir kalıp şudur: bağımsız değişkenleri hemen doğrulayın, ardından asıl işi bir yerel işleve erteleyin. Bu, özellikle yineleyicilerde kullanışlıdır; böylece doğrulama hemen çalışır.
using System;
using System.Collections.Generic;
public class Program
{
static IEnumerable<int> Range(int start, int count)
{
if (count < 0) throw new ArgumentOutOfRangeException(nameof(count));
return Iterate();
IEnumerable<int> Iterate()
{
for (int i = 0; i < count; i++) yield return start + i;
}
}
public static void Main()
{
foreach (var n in Range(10, 3)) Console.WriteLine(n);
}
}Yerel İşlevler Ne Zaman Kullanılmalı?
Bir yardımcı tam olarak tek bir yöntem tarafından kullanılıyorsa, açıklayıcı bir addan yararlanıyorsa veya yöntemin yerel durumuna erişmesi gerekiyorsa yerel işleve başvurun. Bu, sınıfı temiz tutar ve mantığın keşfedilmesini kolaylaştırır.
using System;
public class Program
{
public static void Main()
{
int total = 0;
void Add(int n) => total += n; // helper tied to this method
Add(3); Add(4); Add(5);
Console.WriteLine(total);
}
}Hızlı Kontrol
Yerel işlevin ne olduğunu hatırlayın.
Özet
Yerel işlevler, bir yöntemin içine yerleştirilmiş adlandırılmış yardımcılardır.
- Yalnızca kendilerini kapsayan üye içinde görünürler.
- Parametreleri, dönüş değerlerini,
out/refparametrelerini, tür parametrelerini ve özyinelemeyi desteklerler. - Tanımlarından önce kullanılabilirler.
- Tek seferlik yardımcılar ve yineleyicilerde bağımsız değişkenlerin hemen doğrulanması için idealdirler.
Sıkça Sorulan Sorular
“Yerel İşlevleri Bildirme” dersi ücretsiz mi?
Evet — “Yerel İşlevleri Bildirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.
“Yerel İşlevleri Bildirme” dersinde ne öğreneceğim?
Yöntemlerin içinde yardımcı işlevler tanımlayın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Yerel İşlevleri Bildirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Yerel İşlevleri Bildirme
- Kapanışlar ve Yakalanan Değişkenler
- Statik Yerel İşlevler
- Yerel İşlevler ve Lambda'lar