0Pricing
C# Academy · Ders

is kalıpları; ilişkisel ve mantıksal kalıplar (C# 6 öykünmesi)

C# 6'da temel kalıpları öykünün: is ile tür denetimleri, aralık/ilişki denetimleri ve küçük koşul yardımcılarıyla mantıksal birleştirme.

is kalıpları; ilişkisel ve mantıksal kalıplar (C# 6 öykünmesi), CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 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 3 dersten oluşur.

C# 6'da kalıp fikirleri

Amaç: Yaygın kalıpları taklit etmek için C# 6 kullanmak.

  • Tür kalıbı: is + dönüştürme
  • İlişkisel: yardımcı korumalar (ör. >, <)
  • Mantıksal: küçük yüklemleri birleştirme (AND/OR/NOT)

is + dönüştürme ile tür kalıbı

Tür kalıbını, yerel bir değişkeni “bağlamak” için is ve açık bir dönüştürme kullanarak taklit edin.

using System;

public class Program
{
  static string Describe(object x)
  {
    if (x is int)
    {
      int i = (int)x; // bind
      return "int: " + i;
    }
    if (x is string)
    {
      string s = (string)x; // bind
      return "string(len=" + (s == null ? 0 : s.Length) + ")";
    }
    return "other";
  }

  public static void Main(string[] args)
  {
    Console.WriteLine(Describe(5));
    Console.WriteLine(Describe("hi"));
    Console.WriteLine(Describe(3.14));
  }
}

Koruma olarak ilişkisel “kalıplar”

İlişkisel kontroller için küçük koruma yardımcıları oluşturun; bunlar kalıp gibi okunur ve yeniden kullanılması kolaydır.

using System;

public class Program
{
  static bool IsBetween(int x, int minInclusive, int maxExclusive)
  {
    return x >= minInclusive && x < maxExclusive;
  }

  public static void Main(string[] args)
  {
    int v1 = 10, v2 = -5, v3 = 100;
    Console.WriteLine(IsBetween(v1, 0, 100));  // True
    Console.WriteLine(IsBetween(v2, 0, 100));  // False
    Console.WriteLine(IsBetween(v3, 0, 100));  // False
  }
}

Korumaların mantıksal bileşimi

Mantıksal kalıpları taklit etmek için küçük yüklemleri birleştirin: AND, OR, NOT.

using System;

public class Program
{
  static bool IsEven(int n) { return n % 2 == 0; }
  static bool IsPositive(int n) { return n > 0; }

  static bool And(Func<int,bool> a, Func<int,bool> b) { return a(4) && b(4); } // example composition (demo)
  // For general composition:
  static Func<int,bool> AND(Func<int,bool> a, Func<int,bool> b)
  {
    return delegate(int n) { return a(n) && b(n); };
  }
  static Func<int,bool> OR(Func<int,bool> a, Func<int,bool> b)
  {
    return delegate(int n) { return a(n) || b(n); };
  }
  static Func<int,bool> NOT(Func<int,bool> a)
  {
    return delegate(int n) { return !a(n); };
  }

  public static void Main(string[] args)
  {
    Func<int,bool> evenAndPositive = AND(IsEven, IsPositive);
    Console.WriteLine(evenAndPositive(4));  // True
    Console.WriteLine(evenAndPositive(-2)); // False
    Console.WriteLine(NOT(IsEven)(3));      // True (3 is not even)
  }
}

Tür+ilişkisel taklidi

is + dönüştürme ile bağlayın, ardından bir koruma koşulu uygulayın — bu, modern bir “tür + ilişkisel” kalıbının doğrudan karşılığıdır.

using System;

public class Program
{
  static string Check(object x)
  {
    if (x is int)
    {
      int i = (int)x;          // bind
      if (i > 0) return "positive int";
      return "non-positive int";
    }
    return "not an int";
  }

  public static void Main(string[] args)
  {
    Console.WriteLine(Check(5));     // positive int
    Console.WriteLine(Check(-3));    // non-positive int
    Console.WriteLine(Check("hey")); // not an int
  }
}

İpuçları ve sınırlar

İpuçları:

  • Koruma yardımcılarını açıkça adlandırın (IsBetween, IsNonEmpty vb.).
  • Saf kontrolleri tercih edin; yan etkilerden kaçının.
  • Okunabilirlik için yüklem bileşimini küçük tutun.

Sınır: Daha yeni kalıp söz dizimi daha kısadır, ancak bu C# 6 teknikleri aynı amacı ifade eder.

Tür + ilişkisel kalıbı taklit etme

Hızlı kontrol: C# 6'da “x is int i && i > 0” kalıbını nasıl taklit edebilirsiniz?

Özet

Özet: C# 6'da değerleri bağlamak için is + dönüştürmeyi birleştirin, ilişkisel kontroller için küçük korumalar kullanın ve mantıksal kalıplar için yüklemleri birleştirin.

Sıkça Sorulan Sorular

“is kalıpları; ilişkisel ve mantıksal kalıplar (C# 6 öykünmesi)” dersi ücretsiz mi?

Evet — “is kalıpları; ilişkisel ve mantıksal kalıplar (C# 6 öykünmesi)” 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.

“is kalıpları; ilişkisel ve mantıksal kalıplar (C# 6 öykünmesi)” dersinde ne öğreneceğim?

C# 6'da temel kalıpları öykünün: is ile tür denetimleri, aralık/ilişki denetimleri ve küçük koşul yardımcılarıyla mantıksal birleştirme. 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 1. dersidir.

“is kalıpları; ilişkisel ve mantıksal kalıplar (C# 6 öykünmesi)” 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. is kalıpları; ilişkisel ve mantıksal kalıplar (C# 6 öykünmesi)
  2. switch ifadeleri; when ile tüm durumların denetlenmesi (C# 6 öykünmesi)
  3. Ayrıştırılmış birleşimlerle alan modelleme (kayıtlar) — C# 6 öykünmesi
← C# Academy Sayfasına Dön