0Pricing
C# Academy · Ders

İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller)

Açıklık için isteğe bağlı parametreleri ve adlandırılmış bağımsız değişkenleri kullanın; ref ile başvuru üzerinden aktarın; out ile ek değerler döndürün; in parametrelerinin C# 6'da bulunmadığını unutmayın.

İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller), CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 2. 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.

Ders genel bakışı

Amaç: Okunabilirlik için isteğe bağlı parametreleri ve adlandırılmış bağımsız değişkenleri kullanın; ref ve out kavramlarını anlayın. Not: in parametreleri C# 6'da kullanılamaz.

İsteğe bağlı parametreler

Çok sayıda aşırı yükleme kullanmadan basit özelleştirme sağlamak için varsayılanlar ekleyin.

using System;

public static class Notifier
{
  // Optional parameter: suffix has a default value
  public static void Notify(string message, string suffix = "!")
  {
    Console.WriteLine(message + suffix);
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Notifier.Notify("Saved");          // uses "!"
    Notifier.Notify("Warning", "!!");  // overrides default
  }
}

Adlandırılmış bağımsız değişkenler

Adlandırılmış bağımsız değişkenler, çağrıları kendi kendini açıklayan hâle getirir ve güvenli bir şekilde yeniden sıralanmalarını sağlar.

using System;

public static class Greeter
{
  public static void Greet(string name, string prefix, int repeat)
  {
    for (int i = 0; i < repeat; i = i + 1)
    {
      Console.WriteLine(prefix + " " + name);
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    // Named args improve readability and allow reordering at call site
    Greeter.Greet(name: "Ada", prefix: "Hello", repeat: 2);
    Greeter.Greet(repeat: 1, name: "Alan", prefix: "Hi");
  }
}

ref parametresi

ref, bir değişkeni başvuru yoluyla geçirir; çağıran tarafın değişkeni önce başlatması gerekir.

using System;

public static class RefDemo
{
  public static void Increment(ref int n)
  {
    n = n + 1; // modifies caller's variable
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int value = 5;           // must be assigned before passing by ref
    RefDemo.Increment(ref value);
    Console.WriteLine("value = " + value); // 6
  }
}

out parametresi

out, bir yöntemin parametreler aracılığıyla ek değerler döndürmesini sağlar; yöntemin bu değerlere atama yapması gerekir.

using System;

public static class OutDemo
{
  public static bool TryDivide(int a, int b, out int result)
  {
    if (b == 0)
    {
      result = 0;   // out must be assigned before return
      return false;
    }
    result = a / b;
    return true;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int r; // not required to be assigned before passing as out
    bool ok = OutDemo.TryDivide(9, 0, out r);
    Console.WriteLine("ok=" + ok + " r=" + r);
  }
}

"in" hakkında (C# 6)

Not: in (salt okunur başvuru) parametreleri sonraki C# sürümlerinde kullanılmaya başlanmıştır. C# 6'da şunları yapabilirsiniz:

  • Küçük türler için değere göre geçirme (kopya)
  • Yalnızca değişiklik gerektiğinde ref kullanma
  • Yöntem parametrelerini, yeniden atama yapmayarak, kurala dayalı olarak salt okunur hâle getirme

ref ve out temelleri

Hızlı kontrol: C# 6'da ref ve out hakkında hangi ifade doğrudur?

Özet

Özet: Varsayılanlar için isteğe bağlı parametreleri, açıklık için adlandırılmış bağımsız değişkenleri, çağıran tarafın verilerini değiştirmek için ref'i ve ek değerler döndürmek için out'u kullanın. C# 6, in parametrelerini desteklemez.

Sıkça Sorulan Sorular

“İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller)” dersi ücretsiz mi?

Evet — “İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller)” 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.

“İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller)” dersinde ne öğreneceğim?

Açıklık için isteğe bağlı parametreleri ve adlandırılmış bağımsız değişkenleri kullanın; ref ile başvuru üzerinden aktarın; out ile ek değerler döndürün; in parametrelerinin C# 6'da bulunmadığını unu… 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 2. dersidir.

“İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller)” 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

  1. İmzalar, dönüşler; ifade gövdeli yöntemler; isteğe bağlı/adlandırılmış; ref/out; aşırı yükleme
  2. İsteğe bağlı/adlandırılmış parametreler; ref/out/in (temeller)
  3. Yerel işlevler (C# 6 notu) ve aşırı yükleme
← C# Academy Sayfasına Dön