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ündeki anahtar sözcüklerin çoğu ilgili .NET türü için diğer adlardı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üğü, türünden System.Delegatetüretilmiş bir tür bildiren yerleşik bir başvuru türü anahtar sözcüğüdür. Diğer yerleşik tür anahtar sözcüklerinden farklı olarak, delegate belirli bir .NET türü için bir diğer ad değildir. Bunun yerine, soyut System.Delegate türden türetilen özel türleri bildirir. Benzer şekilde, dynamic belirli bir .NET türü için doğrudan bir diğer ad olmak yerine çalışma zamanı bağlama davranışını temsil eder.

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
  • System.Span<E>'nin System.ReadOnlySpan<U>'e kovaryans veya kimlik dönüşümü olduğunda, E'dan U'e
  • System.ReadOnlySpan<E>'nin System.ReadOnlySpan<U>'e kovaryans veya kimlik dönüşümü olduğunda, E'dan U'e
  • 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 uzantı üyelerinin alıcı parametresine uygulanabilir. Alıcı parametresi, bir uzantı üyesindeki extension anahtar sözcük tarafından belirtilir. alıcı parametresi, değiştiriciyi kullanan bir uzantı yönteminin this ilk parametresidir. Örtük span dönüştürmeleri, yöntem grubu dönüştürmeleri için dikkate alınmaz.

Ayrıca bkz.