Jenis data C#



Dalam C#, pembolehubah dibahagikan kepada jenis berikut:

  • Jenis nilai (Jenis nilai)

  • Jenis rujukan ( Jenis rujukan)

  • Jenis penunjuk (Jenis penuding)

Jenis nilai (Jenis nilai)

Pembolehubah jenis nilai boleh Ditugaskan secara langsung kepada sesuatu nilai. Ia diperoleh daripada kelas System.ValueType.

Jenis nilai mengandungi data secara langsung. Contohnya, int, char, dan nombor kedai terapung, huruf dan nombor terapung masing-masing. Apabila anda mengisytiharkan jenis int, sistem memperuntukkan memori untuk menyimpan nilai.

Jadual berikut menyenaraikan jenis nilai yang tersedia dalam C# 2010:

类型描述范围默认值
bool布尔值True 或 FalseFalse
byte8 位无符号整数0 到 2550
char16 位 Unicode 字符U +0000 到 U +ffff''
decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 1028 到 7.9 x 1028) / 100 到 280.0M
double64 位双精度浮点型(+/-)5.0 x 10-324 到 (+/-)1.7 x 103080.0D
float32 位单精度浮点型-3.4 x 1038 到 + 3.4 x 10380.0F
int32 位有符号整数类型-2,147,483,648 到 2,147,483,6470
long64 位有符号整数类型-923,372,036,854,775,808 到 9,223,372,036,854,775,8070L
sbyte8 位有符号整数类型-128 到 1270
short16 位有符号整数类型-32,768 到 32,7670
uint32 位无符号整数类型0 到 4,294,967,2950
ulong64 位无符号整数类型0 到 18,446,744,073,709,551,6150
ushort16 位无符号整数类型0 到 65,5350

Untuk mendapatkan saiz tepat jenis atau pembolehubah pada platform tertentu, anda boleh menggunakan kaedah sizeof. Ungkapan sizeof(type) menghasilkan saiz storan dalam bait objek atau jenis. Contoh berikut memperoleh saiz storan jenis int pada mana-mana mesin:

ruang nama DataTypeApplication
{
class Program
{
statik void Main(string[] args)
{
Console.WriteLine("Saiz int: {0}", sizeof(int));
Console.ReadLine();
}
}
}

Apabila kod di atas disusun dan dilaksanakan, ia akan menghasilkan keputusan berikut:

Saiz int: 4

Jenis rujukan

Jenis rujukan tidak mengandungi data sebenar yang disimpan dalam pembolehubah, tetapi ia mengandungi rujukan kepada pembolehubah.

Dalam erti kata lain, ia merujuk kepada lokasi ingatan. Apabila menggunakan berbilang pembolehubah, jenis rujukan boleh menunjuk ke lokasi memori. Jika data di lokasi memori diubah oleh satu pembolehubah, pembolehubah lain secara automatik mencerminkan perubahan nilai ini. Jenis rujukan terbina dalam ialah: objek, dinamik dan rentetan.

Jenis objek

Jenis objek ialah kelas asas muktamad untuk semua jenis data dalam C# Common Type System (CTS). Objek ialah alias untuk kelas System.Object. Jadi jenis Objek boleh diberikan nilai dari mana-mana jenis lain (jenis nilai, jenis rujukan, jenis pratakrif atau jenis yang ditentukan pengguna). Walau bagaimanapun, sebelum menetapkan nilai, penukaran jenis diperlukan.

Apabila jenis nilai ditukar kepada jenis objek, ia dipanggil tinju sebaliknya, apabila jenis objek ditukar kepada jenis nilai, ia dipanggil unboxing.

objek objek;
obj = 100; // Ini adalah tinju

Jenis dinamik

Anda boleh menyimpan sebarang jenis Nilai ialah dalam pembolehubah jenis data dinamik. Pemeriksaan jenis pembolehubah ini berlaku pada masa jalan.

Sintaks untuk mengisytiharkan jenis dinamik:

dinamik <variable_name> = value;

Contohnya:

dinamik d = 20;

Jenis dinamik adalah serupa dengan jenis objek, tetapi pemeriksaan jenis untuk pembolehubah jenis objek berlaku pada masa penyusunan, manakala pemeriksaan jenis untuk pembolehubah jenis dinamik berlaku pada masa jalan.

Jenis rentetan

Jenis rentetan membolehkan anda menetapkan sebarang nilai rentetan kepada pembolehubah. Jenis String ialah alias bagi kelas System.String. Ia diperoleh daripada jenis Objek. Nilai jenis String boleh diberikan dalam dua bentuk: petikan dan @petikan.

Contohnya:

String str = "w3cschool.cc";

Rentetan @quote:

@"w3cschool.cc";

C# rentetan Anda boleh menambah @ di hadapan rentetan (dipanggil "verbatim rentetan") untuk menganggap watak melarikan diri () sebagai watak biasa, contohnya:

string str = @"C:Windows";

bersamaan dengan:

string str = "C:\Windows" ;

@ Anda boleh sewenang-wenangnya memecahkan baris baharu dalam rentetan dan aksara baris baharu serta ruang inden disertakan dalam panjang rentetan.

string str = @"<script type=""text/javascript"">
  <!--
 -->
 </script> ;";

Jenis rujukan yang ditentukan pengguna termasuk: kelas, antara muka atau perwakilan. Kami akan membincangkan jenis ini dalam bab akan datang.

Jenis penunjuk

Pembolehubah jenis penunjuk menyimpan jenis alamat memori yang lain. Penunjuk dalam C# mempunyai fungsi yang sama seperti penunjuk dalam C atau C++.

Sintaks untuk mengisytiharkan jenis penuding:

pengecam jenis*;

Contohnya:

char* cptr ;
int* iptr;

Kami akan membincangkan jenis penunjuk dalam bab "Kod Tidak Selamat".