.NET 8.0'da yeni [5]: C# 12.0 yazın

Womanne

Member
C#Dil sürümü 12.0'dan beri bir erkek için alternatif bir isim tanımlama fırsatı vardı. Türler C Tipi, Net veya Sınıflarınıza/Yapılarınıza dayalı sınıflar/yapılar olabilir.










Holger Schwichtenberg, 53 ünlü uzmanla tavsiye ve eğitim yoluyla ve yazılımın geliştirilmesinde çok sayıda orta ve büyük şirketi destekleyen uzmanlar ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası uzman konferansındaki görünümleri, 90'dan fazla uzman kitabı ve 1.500'den fazla uzman makalesi sayesinde Holger Schwichtenberg, Almanya'daki .NET ve Web teknikleri için en iyi uzmanlardan biridir.







C# 'da kullanılan anahtar kelime using başka bir anlam alır.

Yazarken


using Numbers = int[];


Bundan sonra gidebilirsin Numbers yerine int[] Türün beyanlarını kullanın:


Numbers numbers = new int[10];


Ancak yapabilirsiniz Olumsuz Somutlaşmada Kullanın:




Numbers numbers = new Numbers;


Ne yazık ki, bir takma adın yardımıyla bir takma adı tanımlayamazsınız. Bu nedenle, aşağıdakilere izin verilmez:


using DbIntList = List<DbInt>;


İkinci örnek: DbInt A için aka olarak int? Nullable<int>:


using DbInt = int?;

// ermöglicht:

public DbInt LoadNumberFromDatabase()
{
try
{

}
catch (Exception)
{
return null;
}
}

DbInt n;
n = LoadNumberFromDatabase();
Console.WriteLine(n == null ? "null" : n);



Üçüncü Örnek: Tupel için TypoCis


using Measurement = (string Units, int Distance);

// ermöglicht:

public Measurement Add(Measurement m1, Measurement m2)
{
if (m1.Units == m2.Units)
{
return (m1.Units, m1.Distance + m2.Distance);
}
else
{
throw new Exception("Units do not match!");
}
}

Measurement m1 = ("m", 100);
Console.WriteLine(m1.Distance + " " + m1.Units);

Measurement m2 = ("m", 42);
Console.WriteLine(m2.Distance + " " + m2.Units);

Measurement m3 = Add(m1, m2);
Console.WriteLine(m3);



Dördüncü Örnek: Bir .NET sınıfı için tipik


using MyPerson = BO.Person;


INT-SARAY-ALIAS'ın aksine numbers Burada somutlaşmayı kullanmasına izin verilirse:


MyPerson p = new MyPerson();
MyPerson[] pArray = new MyPerson[10];



Bir tür, her tür uygulamanın (sınıflar, yapılar) dışındaki bir dosyanın başında olmalıdır. Mayıs öncesi veya sonra usingİsimlerin isimleri için ve isimlerin adının bildirilmesinden önce veya sonra talimatlar. İstisna: Tür sadece bir dosyaya uygulanmamalı, ancak projedeki tüm dosyalar, o zaman takma adın isimlerinin ve anahtar kelimenin önünde olmalıdır global Sahip olmak. Bir tür tipik diğer projeler için ihraç edilemez. Kullanılırsa her .NET projesinde bildirilmelidir.


global using Measurement = (string Units, int Distance);
using BO;

namespace BL;

// Typaliasse dürfen im Namensraum stehen
using Numbers = int[];
using DbInt = int?;
using MyPerson = Person;

class MeineKlasse
{

}




(RME)
 
Üst