Aracılığıyla paylaş


new işleci - işleç new türün yeni bir örneğini oluşturur

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.

Ayrıca bkz.