Yerel işlevler (C# 6 notu) ve aşırı yükleme
Yöntemleri güvenle aşırı yükleyin (aynı ad, farklı parametreler) ve C# 6'da yerel işlevler bulunmadığından bunları küçük özel yardımcılarla taklit edin.
Yerel işlevler (C# 6 notu) ve aşırı yükleme, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 3. 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 3 dersten oluşur.
Genel bakış
Amaç: İlişkili işler için tek bir yöntem adını yeniden kullanın (aşırı yükleme). C# 6'da yerel işlevler yoktur; bunun yerine küçük özel yardımcılar kullanın.
Aşırı yükleme temelleri
Aşırı yüklemeler aynı adı paylaşır ancak parametre türleri veya sayıları bakımından farklıdır. Derleyici en uygun eşleşmeyi seçer.
using System;
public static class MathX
{
public static int Sum(int a, int b) { return a + b; }
public static double Sum(double a, double b) { return a + b; }
}
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Sum ints = " + MathX.Sum(2, 3));
Console.WriteLine("Sum doubles = " + MathX.Sum(2.5, 3.1));
}
}
Arite aşırı yüklemeleri
Ariteyi (parametre sayısını) değiştirmek, açık bir aşırı yükleme kümesi oluşturur.
using System;
public static class Printer
{
public static void Print(string text)
{
Console.WriteLine(text);
}
public static void Print(string text, int times)
{
for (int i = 0; i < times; i = i + 1)
{
Console.WriteLine(text);
}
}
}
public class Program
{
public static void Main(string[] args)
{
Printer.Print("Hello");
Printer.Print("Hi", 2);
}
}
Döndürme türü kuralı
Kural: Yalnızca döndürme türü, aşırı yüklemeleri birbirinden ayıramaz. Geçerli bir aşırı yükleme için parametre türlerini, sayılarını veya niteleyicilerini (örneğin ref/out) değiştirin.
Yerel işlev alternatifi
C# 6'da yerel işlevler yoktur: ana yöntemi düzenli tutmak için küçük bir özel yöntem çıkarın.
using System;
// No local functions in C# 6: use a tiny private helper inside the class.
public class Report
{
private static string Header(string title)
{
return "-- " + title + " --";
}
public static void Print(string title, string body)
{
Console.WriteLine(Header(title));
Console.WriteLine(body);
}
}
public class Program
{
public static void Main(string[] args)
{
Report.Print("Status", "All green");
}
}
Aşırı yükleme çözümlemesi
Derleyici, aşırı yükleme kümesinden en uygun eşleşmeyi seçer. Çağrılar belirsizse bir tür dönüşümü ekleyin veya imzaları düzenleyin.
using System;
public static class Formatter
{
public static string Format(int n) { return "N=" + n; }
public static string Format(string s) { return "S=" + s; }
}
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine(Formatter.Format(5)); // picks int overload
Console.WriteLine(Formatter.Format("hello")); // picks string overload
// Avoid ambiguity: cast when needed
Console.WriteLine(Formatter.Format((int)3));
}
}
Aşırı yükleme kuralı
Özet
Özet: Döndürme türünü değil, parametre türlerini veya sayılarını değiştirerek aşırı yükleme kümeleri oluşturun. C# 6'da yöntemleri düzenli tutmak için yerel işlevleri küçük özel yardımcılarla değiştirin.
Sıkça Sorulan Sorular
“Yerel işlevler (C# 6 notu) ve aşırı yükleme” dersi ücretsiz mi?
Evet — “Yerel işlevler (C# 6 notu) ve aşırı yükleme” 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 3 dersten oluşur.
“Yerel işlevler (C# 6 notu) ve aşırı yükleme” dersinde ne öğreneceğim?
Yöntemleri güvenle aşırı yükleyin (aynı ad, farklı parametreler) ve C# 6'da yerel işlevler bulunmadığından bunları küçük özel yardımcılarla taklit edin. 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, 3 dersinin 3. dersidir.
“Yerel işlevler (C# 6 notu) ve aşırı yükleme” 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
- İmzalar, dönüşler; ifade gövdeli yöntemler; isteğe bağlı/adlandırılmış; ref/out; aşırı yükleme
- İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller)
- Yerel işlevler (C# 6 notu) ve aşırı yükleme