Aracılığıyla paylaş


Yerleşik türler (C# referans)

Aşağıdaki tabloda C# yerleşik değeri türleri listelenmiştir:

C# tür anahtar sözcüğü .NET türü
bool System.Boolean
byte System.Byte
sbyte System.SByte
char System.Char
decimal System.Decimal
double System.Double
float System.Single
int System.Int32
uint System.UInt32
nint System.IntPtr
nuint System.UIntPtr
long System.Int64
ulong System.UInt64
short System.Int16
ushort System.UInt16

Aşağıdaki tabloda C# yerleşik başvuru türleri listelenmiştir.

C# tür anahtar sözcüğü .NET türü
object System.Object
string System.String
delegate System.Delegate
dynamic System.Object

Önceki tablolarda, sol sütundaki C# türü anahtar sözcüğü (temsilci ve dinamikhariç) ilgili .NET türü için bir diğer addır. Bunlar değiştirilebilir. Örneğin, aşağıdaki bildirimler aynı türdeki değişkenleri bildirir:

int a = 123;
System.Int32 b = 123;

dynamic türü objectbenzer. Başlıca farklar şunlardır:

  • dynamic ifadedeki işlemler derleme zamanında değil çalışma zamanında bağlıdır.
  • new dynamic()kullanamazsınız.
  • dynamic türünden tür türetemezsiniz.

delegate anahtar sözcüğü, System.Delegate'den türetilmiş bir türü bildirir. System.Delegate türü soyut bir türdür.

void anahtar sözcüğü bir türün yokluğunu temsil eder. Bunu, değer döndürmeyen bir yöntemin dönüş türü olarak kullanırsınız.

C# dili, System.Span<T> ve System.ReadOnlySpan<T> türleri için özel kurallar içerir. Bu türlere karşılık gelen C# anahtar sözcükleri olmadığından, bu türler yerleşik türler olarak sınıflandırılmamıştır. C# dili, dizi türlerinden ve string türünden Span<T> ve ReadOnlySpan<T>'e örtük dönüşümleri tanımlar. Bu dönüştürmeler Span türlerini daha doğal programlama senaryolarıyla tümleştirir. Aşağıdaki dönüştürmeler, örtükspan dönüştürmeleri olarak tanımlanır:

  • Herhangi bir öğe türü E olan tek boyutlu diziden System.Span<E>'e doğru
  • Herhangi bir E öğe türüne sahip ve System.ReadOnlySpan<U>'e dönüştürülen tek boyutlu diziden, E'nin U'e kovaryans dönüştürmesi veya kimlik dönüştürmesi olduğunda
  • E'nin U'e kovaryans veya kimlik dönüşümü olduğunda, System.Span<E>'dan System.ReadOnlySpan<U>'e
  • E'nin U'e kovaryans dönüştürmesi veya kimlik dönüştürmesi olduğunda, System.ReadOnlySpan<E>'den System.ReadOnlySpan<U>'a
  • string'dan System.ReadOnlySpan<char>

Derleyici, geçerli bir örtük span dönüştürme mevcut olduğu sürece hiçbir kullanıcı tanımlı dönüştürmeyi asla yoksayamaz. Örtük span dönüştürmeleri, this değiştiricisi olan parametresi uzantı yöntemlerinin ilk bağımsız değişkenine uygulanabilir. Örtük span dönüştürmeleri, yöntem grubu dönüştürmeleri için dikkate alınmaz.

Ayrıca bkz.