Value Type:
- Disimpan di stack memory
- Non Garbage Collected
- Berasal dari namespace System.ValueType
- Perubahan nilai pada satu variabel tidak berpengaruh pada nilai variabel yang lain
Berikut ini value type pada C# 2010.
Tipe | Deskripsi | Range | Nilai Default |
---|---|---|---|
bool | mewakili nilai true/false | True atau False | False |
byte | bilangan dalam 8 bit biner dan hanya berisi bilangan non-negatif | 0 to 255 | 0 |
char | karakter unicode, 16-bit | U +0000 to U +ffff | '\0' |
decimal | bilangan decimal dengan kapasitas penyimpanan 8 byte | (-7.9 x 1028 to 7.9 x 1028) / 100 to 28 | 0.0M |
double | bilangan pecahan dengan kapasitas penyimpanan 8 byte | (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 | 0.0D |
float | bilangan pecahan dengan kapasitas penyimpanan 4 byte | -3.4 x 1038 to + 3.4 x 1038 | 0.0F |
int | bilangan dengan kapasitas penyimpanan 4 byte, dan bisa digunakan untuk menyimpan bilangan negatif. | -2,147,483,648 to 2,147,483,647 | 0 |
long | bilangan dengan besaran 8 byte, dan bisa digunakan untuk menyimpan bilangan negatif. | -923,372,036,854,775,808 to 9,223,372,036,854,775,807 | 0L |
sbyte | sama dengan byte hanya saja bisa berisi bilangan negatif | -128 to 127 | 0 |
short | bilangan dengan kapasitas penyimpanan sampai 16 bit biner ( 2 bytes ) dan bisa berisi bilangan negatif | -32,768 to 32,767 | 0 |
uint | sama dengan tipe data int, tapi hanya bisa digunakan untuk menyimpan bilangan non-negatif. | 0 to 4,294,967,295 | 0 |
ulong | sama dengan tipe data long hanya saja dikhususkan untuk bilangan non-negatif | 0 to 18,446,744,073,709,551,615 | 0 |
ushort | sama dengan short tapi hanya berisi bilangan non-negatif | 0 to 65,535 | 0 |
Reference Type:
- Disimpan di Heap Memory
- Garbage Collected
- Berasal dari namespace System.Object
- Satu object dapat direferensi oleh lebih dari satu variabel
- Perubahan nilai pada object referensi yang sama akan mempengaruhi nilai pada object lainnya
Contoh tipe reference built-in yaitu: object, dynamic and string.
OBJECT TYPE
Tipe object adalah class dasar utama untuk semua tipe data di C# Common Type System (CTS). Object adalah nama lain dari class System.Object. Jadi tipe object dapat diberi nilai apapun dengan tipe lain.
Saat value type dikonversi ke object type, prosesnya disebut boxing sebaliknya saat sebuah object type dikonversi ke value type, disebut unboxing.
object obj;
obj = 250; // contoh boxing
DYNAMIC TYPE
Kita bisa menyimpan tipe data nilai apapun pada dynamic type variable. Tipe variable ini adalah mengambil tempat saat runtime.
Syntax untuk mendeklarasikannya:
dynamic <nama_variable> = value;
Contoh:
dynamic d = 20;
Dynamic type mirip dengan object type kecuali saat object type mengambil tempat penyimpanan yaitu saat compile sementara dynamic type mengambil tempat penyimpanan run time.
STRING TYPE
Tipe ini mengizinkan kita untuk memberi nilai string pada sebuah variable. String type merupakan nama lain dari class System.String. Dia berasal dari object type. Nilai untuk sebuah string type bisa diberikan dengan dua bentuk: quoted dan @quoted.
Contoh:
String str = "Mari belajar C#";
Contoh dengan menggunakan @quoted:
@"Mari belajar C#";
Selain tiga diatas reference type ada yang merupakan user-defined yaitu berupa: class, interface, atau delegate.
Pointer Type:
Pointer type menyimpan memori yang dialamatkan dari type lainnya. Pointers pada C# memiliki kapabilitas yang sama dengan C atau C++.
Syntax untuk mendeklarasikan pointer type:
type* identifier;
Contoh:
char* cptr;
int* iptr;
Kesimpulannya, saya juga masih agak bingung hehe... >...<
Lebih jelas nya emang pas praktek sih yah
Jadi notes dulu aja deh...
Click here if you like this article.
3 Comments
misalnya kita punya variabel level dan datanya = 1
seperti ini :
Dim level As Byte = "1"
pertanyaannya untuk membaca variabel level tersebut untuk dimasukkan dalam fungsi sql select kykmana buk ?
biasanya klo masukan teksbox seperti ini :
[username]='" & txt_Username.Text & "'
nah klo untuk manggil variabel apa seperti ini buk ?
[admin] > level
byte level = 1;
string sql;
sql = "SELECT * FROM tbluser WHERE userlevel = '" + level.ToString() + "'";
gitu bukan maksud nya?
(^_^)