node24






4.8 C#


























Dalej: 5. Tablice statyczne i wskaźniki
W górę: 4. Podstawowe typy danych
Wstecz: 4.7 Odnośniki






4.8 C#



Podobnie jak w Javie
i C/C++, w języku C# wszystkie
zmienne muszą być przed użyciem zadeklarowane, a zatem jest to
również język ze ścisłą kontrolą typu.


W C#, jak w Javie, zmienne wszystkich typów mają ustaloną
reprezentację i nie ma tu, jak w C/C++, żadnych dowolności.
W odróżnieniu jednak od Javy, liczbowe typy
całkowite występują, tym razem właśnie jak w C++, w obu formach:
ze znakiem i bez znaku.
Zmienne liczbowe są wszystkie formalnie strukturami wywiedzionymi
z klasy
System.ValueType.
Każdemu typowi C# odpowiada klasa z przestrzeni nazw
System
(odpowiadającej pakietowi
java.lang z Javy).
Nazywamy je strukturami
a nie obiektami, gdyż w C# istnieją, prócz klas i obiektów
właśnie struktury.
Są one wzorowane na strukturach znanych z języka C, o których
będziemy jeszcze mówić. Na razie zapamiętajmy, że
klasa
ValueType tak „opakowuje''
struktury odpowiadające liczbom, aby ich użycie było zgodne
z semantyką wartości, a nie odniesień (referencji). Zatem zmiennych
liczbowych używamy w C# tak samo jak w Javie czy C/C++.
Deklarując zmienne można używać zarówno nazw klas z przestrzeni

System jak i ich synonimów bardziej przypominających
nazwy znane nam z Javy czy C/C++. Tak więc np. deklaracja


System.Int32 k = 32;


jest równoważna


int k = 32;


W poniższej tabeli zamieszczone są podstawowe typy
danych w C# wraz z ich synonimami z przestrzeni nazw
System.



Tablica 4.3:
Typy danych w C#
Typ w C#
Klasa z 
SystemOpis

sbyte
SByte
całk., 1 bajt, ze znakiem

byte
Byte
całk., 1 bajt, bez znaku

char
Char
całk., 2 bajty, bez znaku (kod Unicode)

short
Int16
całk., 2 bajty, ze znakiem

ushort
UInt16
całk., 2 bajty, bez znaku

int
Int32
całk., 4 bajty, ze znakiem

uint
UInt32
całk., 4 bajty, bez znaku

long
Int64
całk., 8 bajtów, ze znakiem

ulong
UInt64
całk., 8 bajtów, bez znaku

decimal
Decimal
całk., 12 bajtów, ze znakiem

float
Single
zmiennopozyc., 4 bajty

double
Double
zmiennopozyc., 8 bajtów

bool
Boolean
logiczna:
true,
false
string
String
napis (Unicode)

object
Object
dowolny obiekt





Podobnie jak w Javie, typ logiczny (
bool, czyli

System.Boolean) jest całkowicie samodzielnym typem i
nie ma nic wspólnego z typami całkowitymi.


Znaki (zmienne typu
char, czyli
System.Char)
są reprezentowane przez całkowite kody Unicode'u, jak w Javie.


Język C# przejął też z języka C/C++ typ wyliczeniowy.
Wyliczenia i zmienne typów wyliczeniowych definiuje
się podobnie jak w C/C++, choć należy pamiętać o obiektowości
C#. Otóż wyliczenia stanowią osobny typ obiektowy (wszystkie są
wywiedzione z klasy
System.Enum) i wobec tego można je
definiować poza wszystkimi klasami. Do poszczególnych
elementów trzeba wtedy oczywiście odnosić się przez
nazwy kwalifikowane nazwą typu, jak w poniższym przykładzie:



Wyszukiwarka

Podobne podstrony:
node245 T2YQJZD6LDQ6LP5OYUC3OHQJMT5QYEUMQNSNPTI
node245
node243
node242 7L22GLKYOY7WCD2ENRGH2MBHLMAUTJL2GTKKYNY
node246 YIF4WCYAY6SJS2OLKTPEMD6TGPZD4BLGOW43G3A
node24 PDHWHKXXAJCE53SGAZZQAGL4RLNJ7ZXWLGOY4QY
node24 3ZDS5WHDJGYZQJTUOOHV6YJOOXTC2GUWSJC775I
node24
node244
node243 YS2T6SICTFF6CFMWRO7X5VPFRR7EJ4VCN3TKXFY
node24 2PNVCNM2PFRUZA3ENONWT4NSN4DPLHTMPZ3FH7Y
node241
node244 D3H4Q5QNKWCUAFHHJWADTRR7OS7G5JGYHSPAIMQ
node249 7JYBNHKY3DEZ42ROO3VGHKZUJVB2IRUD4MHHCUY
node247
node24 1
node248 C33U2NRXWJ5BBSGXFIODC6MPK44O246Y7WN2G7Y

więcej podobnych podstron