0Pricing
C# Academy · Ders

Hedef Türü Belirlenmiş new İfadeleri

Hedef türü belirleme ile nesne oluşturmayı basitleştirin.

Hedef Türü Belirlenmiş new İfadeleri, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 4. 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.

Hedef Türü Belirlenmiş new

C# 9'dan beri hedef tür bilindiğinde Type x = new(); yazabilir ve new sonrasındaki türü çıkarabilirsiniz.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        List<int> numbers = new();
        numbers.Add(1);
        Console.WriteLine(numbers.Count);
    }
}

Tekrarı Ortadan Kaldırma

Değişken türü zaten belirtiyorsa bunu new sonrasında tekrarlamak gereksiz ayrıntıdır. Boş new() bu tekrarı ortadan kaldırır.

using System;
using System.Text;

class Program {
    static void Main() {
        StringBuilder sb = new();
        sb.Append("Hi");
        Console.WriteLine(sb.ToString());
    }
}

Yapıcı Argümanlarını Geçirme

Hedef türü belirlenmiş new(), parantezlerin içinde yapıcı argümanlarını yine kabul eder.

using System;

class Point {
    public int X, Y;
    public Point(int x, int y) { X = x; Y = y; }
}
class Program {
    static void Main() {
        Point p = new(3, 4);
        Console.WriteLine(p.X + ", " + p.Y);
    }
}

Nesne Başlatıcılarla

Hedef türü belirlenmiş new ifadesini bir nesne başlatıcı bloğuyla birleştirebilirsiniz.

using System;

class User {
    public string Name;
    public int Age;
}
class Program {
    static void Main() {
        User u = new() { Name = "Ann", Age = 30 };
        Console.WriteLine(u.Name + " " + u.Age);
    }
}

Alanlarda

Hedef türü belirlenmiş new, alan başlatıcılarında da çalışır ve bildirimleri kısa tutar.

using System;
using System.Collections.Generic;

class Program {
    static List<string> items = new();
    static void Main() {
        items.Add("a");
        Console.WriteLine(items.Count);
    }
}

Yöntem Argümanlarında

Bir parametrenin türü biliniyorsa argüman olarak doğrudan new() geçebilirsiniz.

using System;
using System.Collections.Generic;

class Program {
    static void Print(List<int> list) {
        Console.WriteLine(list.Count);
    }
    static void Main() {
        Print(new());
    }
}

new() Döndürme

Bir yöntemin dönüş türü biliniyorsa tür adını tekrarlamadan new() döndürebilirsiniz.

using System;
using System.Collections.Generic;

class Program {
    static List<int> Make() {
        return new() { 1, 2, 3 };
    }
    static void Main() {
        Console.WriteLine(Make().Count);
    }
}

var ile Karşılaştırma

var x = new List<int>() türü sağ tarafta belirtir; List<int> x = new() ise türü sol tarafta belirtir. Okunması daha kolay olanı seçin.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        var a = new List<int>();
        List<int> b = new();
        Console.WriteLine(a.Count + b.Count);
    }
}

Belirsizlik Hata Oluşturur

Derleyici hedef türü belirleyemezse new() başarısız olur. Hedef, bağlamdan açıkça anlaşılmalıdır.

using System;

class Program {
    static void Main() {
        object o = new object();
        Console.WriteLine(o.GetType().Name);
    }
}

Uzun Türlerle Okunabilirlik

Hedef türü belirlenmiş new, özellikle uzun ve ayrıntılı genel türlerde kullanışlıdır; türü iki kez yazmanızı önler.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Dictionary<string, List<int>> map = new();
        map["a"] = new() { 1, 2 };
        Console.WriteLine(map["a"].Count);
    }
}

Modern Bir Stil

Hedef türü belirlenmiş new, tam statik tür denetimini ve derleyici denetimlerini korurken bildirimleri temiz tutar.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Queue<string> q = new();
        q.Enqueue("first");
        Console.WriteLine(q.Dequeue());
    }
}

Hızlı Kontrol

Hedef türü belirlenmiş new ifadeleri konusundaki anlayışınızı sınayın.

Özet

Hedef türü belirlenmiş new(), hedef tür zaten biliniyorsa new sonrasındaki türü çıkarmanızı sağlar; böylece bildirimlerde, alanlarda, argümanlarda ve dönüşlerde tekrar azalır.

Yapıcı argümanlarını ve başlatıcıları yine kabul eder, tür belirsiz olduğunda başarısız olur ve modern, tamamen tür güvenli bir stil olarak var kullanımını tamamlar.

Sıkça Sorulan Sorular

“Hedef Türü Belirlenmiş new İfadeleri” dersi ücretsiz mi?

Evet — “Hedef Türü Belirlenmiş new İfadeleri” 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.

“Hedef Türü Belirlenmiş new İfadeleri” dersinde ne öğreneceğim?

Hedef türü belirleme ile nesne oluşturmayı basitleştirin. 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 4. dersidir.

“Hedef Türü Belirlenmiş new İfadeleri” 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. var ile Yerel Değişken Türü Çıkarımı
  2. var Ne Zaman Kullanılmamalı
  3. dynamic Türü
  4. Hedef Türü Belirlenmiş new İfadeleri
← C# Academy Sayfasına Dön