C# – Data Types
Variabel di C#, dikategorikan ke dalam jenis berikut :
- Value types
- Reference types
- Pointer types
Value Type
Variabel Value Type dapat diberi value secara langsung. Mereka diturunkan dari class System.ValueType.
Value Type secara langsung berisi data. Beberapa contohnya adalah int, char, dan float, yang masing-masing menyimpan angka, huruf, dan angka floating point. Saat Anda mendeklarasikan tipe int, sistem mengalokasikan memori untuk menyimpan nilainya.
Tabel berikut mencantumkan Value Type yang tersedia di C# 2010 :
Type | Represents | Range | Default Value |
---|---|---|---|
bool | Boolean value | True or False | False |
byte | 8-bit unsigned integer | 0 to 255 | 0 |
char | 16-bit Unicode character | U +0000 to U +ffff | ‘\0’ |
decimal | 128-bit precise decimal values with 28-29 significant digits | (-7.9 x 1028 to 7.9 x 1028) / 100 to 28 | 0.0M |
double | 64-bit double-precision floating point type | (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 | 0.0D |
float | 32-bit single-precision floating point type | -3.4 x 1038 to + 3.4 x 1038 | 0.0F |
int | 32-bit signed integer type | -2,147,483,648 to 2,147,483,647 | 0 |
long | 64-bit signed integer type | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | 0L |
sbyte | 8-bit signed integer type | -128 to 127 | 0 |
short | 16-bit signed integer type | -32,768 to 32,767 | 0 |
uint | 32-bit unsigned integer type | 0 to 4,294,967,295 | 0 |
ulong | 64-bit unsigned integer type | 0 to 18,446,744,073,709,551,615 | 0 |
ushort | 16-bit unsigned integer type | 0 to 65,535 | 0 |
Untuk mendapatkan ukuran yang tepat dari suatu type atau variabel pada platform tertentu, Anda dapat menggunakan metode sizeof. The expression sizeof (type) menghasilkan ukuran penyimpanan objek atau type dalam byte. Berikut adalah contoh untuk mendapatkan ukuran type int pada mesin apa pun
using System;
namespace DataTypeApplication {
class Program {
static void Main(string[] args) {
Console.WriteLine("Size of int: {0}", sizeof(int));
Console.ReadLine();
}
}
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut :
Size of int: 4
Reference Type
Reference Type tidak berisi data aktual yang disimpan dalam variabel, tetapi berisi referensi ke variabel.
Dengan kata lain, mereka mengacu pada lokasi memori. Menggunakan banyak variabel, Reference Type dapat merujuk ke lokasi memori. Jika data di lokasi memori diubah oleh salah satu variabel, variabel lain secara otomatis mencerminkan perubahan nilai ini. Contoh Reference Type bawaan adalah: object, dynamic, dan string.
Object Type
Object Type adalah kelas dasar utama untuk semua type data di C# Common Type System (CTS). Object adalah alias untuk class System.Object. Object Type dapat diberi nilai dari type lain, value type, reference type, type standar atau type yang ditentukan pengguna. Namun, sebelum menetapkan value, diperlukan type conversion.
Ketika value type diubah menjadi object type, itu disebut boxing dan di sisi lain, ketika object type diubah menjadi value type, itu disebut unboxing.
object obj;
obj = 100; // this is boxing
Dynamic Type
Anda dapat menyimpan value type apa pun di the dynamic data type variable. Pemeriksaan untuk type variabel ini dilakukan pada waktu proses.
Sintaks untuk mendeklarasikan dynamic type adalah :
dynamic <variable_name> = value;
Sebagai contoh,
dynamic d = 20;
Dynamic types mirip dengan object type, kecuali type pemeriksaan untuk variabel object type dilakukan pada waktu kompilasi, sedangkan the dynamic type variables terjadi pada waktu proses.
String Type
String Type memungkinkan Anda untuk menetapkan value string apa pun ke variabel. String type adalah alias untuk class System.String. Ini berasal dari object type. value untuk string type dapat ditetapkan menggunakan literal string dalam dua bentuk: “” dan @””.
Sebagai contoh:
String str = "Tutorials Point";
Literal string @”” terlihat sebagai berikut :
@"Tutorials Point";
Reference type yang ditentukan pengguna adalah: class, interface, atau delegate. Kami akan membahas jenis ini di bab selanjutnya.
Pointer Type
Variabel Pointer type menyimpan alamat memori type lain. Pointer di C# memiliki kemampuan yang sama dengan pointer di C atau C++.
Sintaks untuk mendeklarasikan pointer type adalah :
type* identifier;
Sebagai contoh:
char* cptr;
int* iptr;
Kami akan membahas jenis penunjuk di bab ‘Berikut Nya’