Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
new işleci - işleç
işleci new bir türün yeni bir örneğini oluşturur. Anahtar sözcüğünü new üye bildirim değiştiricisi veya genel tür kısıtlaması olarak da kullanabilirsiniz.
C# dili başvuru belgesi, C# dilinin en son yayımlanan sürümünü gösterir. Ayrıca, yaklaşan dil sürümü için genel önizlemelerdeki özelliklere yönelik ilk belgeleri içerir.
Belgelerde ilk olarak dilin son üç sürümünde veya geçerli genel önizlemelerde sunulan tüm özellikler tanımlanır.
Tavsiye
Bir özelliğin C# dilinde ilk tanıtıldığı zamanları bulmak için C# dil sürümü geçmişi makalesine bakın.
Oluşturucu çağrısı
Türün yeni bir örneğini oluşturmak için işlecini kullanarak bu türün oluşturucularından birini çağırın new :
var dict = new Dictionary<string, int>();
dict["first"] = 10;
dict["second"] = 20;
dict["third"] = 30;
Console.WriteLine(string.Join("; ", dict.Select(entry => $"{entry.Key}: {entry.Value}")));
// Output:
// first: 10; second: 20; third: 30
Aşağıdaki örnekte gösterildiği gibi, bir kullanabilirsiniz:
var dict = new Dictionary<string, int>
{
["first"] = 10,
["second"] = 20,
["third"] = 30
};
Console.WriteLine(string.Join("; ", dict.Select(entry => $"{entry.Key}: {entry.Value}")));
// Output:
// first: 10; second: 20; third: 30
Hedef türü new
Oluşturucu çağırma ifadeleri hedef türündedir. Diğer bir ifadenin hedef türü biliniyorsa, aşağıdaki örnekte gösterildiği gibi tür adını atlayabilirsiniz:
List<int> xs = new();
List<int> ys = new(capacity: 10_000);
List<int> zs = new() { Capacity = 20_000 };
Dictionary<int, List<int>> lookup = new()
{
[1] = new() { 1, 2, 3 },
[2] = new() { 5, 8, 3 },
[5] = new() { 1, 0, 4 }
};
Yukarıdaki örnekte gösterildiği gibi, hedef türündeki new bir ifadede her zaman ayraç kullanın.
bir ifadenin new hedef türü bilinmiyorsa (örneğin, anahtar sözcüğünü kullandığınızda var ), bir tür adı belirtmeniz gerekir.
Dizi oluşturma
Aşağıdaki örnekte gösterildiği gibi bir dizi örneği oluşturmak için işlecini de kullanırsınız new :
var numbers = new int[3];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
Console.WriteLine(string.Join(", ", numbers));
// Output:
// 10, 20, 30
Dizi örneği oluşturmak ve bunu tek bir deyimdeki öğelerle doldurmak için dizi başlatma söz dizimini kullanın. Aşağıdaki örnekte bunu nasıl yapabileceğiniz çeşitli yollar gösterilmektedir:
var a = new int[3] { 10, 20, 30 };
var b = new int[] { 10, 20, 30 };
var c = new[] { 10, 20, 30 };
Console.WriteLine(c.GetType()); // output: System.Int32[]
Diziler hakkında daha fazla bilgi için bkz . Diziler.
Anonim türlerin örneğini oluşturma
Anonim bir türün örneğini oluşturmak için işleç ve nesne başlatıcı söz dizimini new kullanın:
var example = new { Greeting = "Hello", Name = "World" };
Console.WriteLine($"{example.Greeting}, {example.Name}!");
// Output:
// Hello, World!
Tür örneklerinin yok edilmesi
Önceden oluşturulmuş tür örneklerini yok etmeniz gerekmez. Sistem hem başvuru hem de değer türlerinin örneklerini otomatik olarak yok eder. Sistem, değer türlerini içeren bağlam yok edilir edilmez örneklerini yok eder. Çöp toplayıcı, başvuru türlerinin örneklerini, son başvuru kaldırıldıktan sonra belirtilmeyen bir zamanda yok eder.
Dosya tanıtıcısı gibi yönetilmeyen kaynaklar içeren tür örnekleri için, kaynakların en kısa sürede serbest bırakıldığından emin olmak için belirlenimci temizleme kullanın. Daha fazla bilgi için API başvurusuna System.IDisposable ve deyimusing bakın.
İşleç aşırı yüklenebilirliği
Kullanıcı tanımlı bir tür işleci aşırı yükleyemez new .
C# dili belirtimi
Daha fazla bilgi için C# dil belirtiminin yeni işleç bölümüne bakın.
Hedef türündeki new ifade hakkında daha fazla bilgi için özellik teklifi notu'na bakın.