1. Wprowadzenie do C#
  2. Szybki start
  3. Pierwszy program
  4. Komentarze
  5. Typy danych
  6. Zmienne
  7. Pola
  8. Właściwości
  9. Stałe
  10. Metody
  11. Instrukcje warunkowe
  12. Pętle
  13. Tablice
  14. Kolekcje
  15. Klasy
  16. Dziedziczenie
  17. Polimorfizm
  18. Konwersja typów
  19. Właściwości klasy String
  20. Typy wyliczeniowe
  21. Interfejsy
  22. Klasy statyczne
  23. Klasy Abstrakcyjne
  24. Przestrzenie nazw
  25. Wyjątki
  26. Typy generyczne
  27. JSON
  28. XML
  29. Podsumowanie

Typy wartościowe

Zmienna jest deklarowana przy użyciu podstawowych lub wbudowanych typów danych również struktury zdefiniowanej przez użytkownika typy wartościowe przechowuje swoją zawartość w pamięci przydzielonej na stos.

W języku C# istnieje wiele typów wartościowych, między innymi: Typy całkowitoliczbowe Typy zmiennoprzecinkowe Typy logiczne Typy znakowe

								
using System;

class Program
{
    static void Main(string[] args)
    {
        byte n1 = 1;       // liczba całkowita o najmniejszej pojemności

        short n2 = 5;      // liczba całkowita o małej pojemności

        int n3 = 10;       // liczba całkowita o większej pojemności

        long n4 = 100;     // liczba całkowita o największej pojemności


        float m1 = 16.5f;     // liczba zmiennoprzecinkowa jednoj precyzji

        double m2 = 40.2;    // liczba zmiennoprzecinkowa podwójnej precyzji

        decimal m3 = 99.9m;   // liczba zmiennoprzecinkowa o najwyższej dokładności


        char znak = 'Z';   // bitowy znak z tablicy Unicode

        bool cos = true;   // typ logiczny prawda lub fałsz
    }
}
 								
						

Rozmiary i wartości typów

Typy Rozmiar Wartość
bool 1bit
true or false
sbyte 8bit
-127 do 128
byte 8bit
0 do 256
short 16bit
-32,768 do 32,767
ushort 16bit
0 do 65,535
char 16bit
0 do 65,535
int 32bit
-2,147,483,648 do 2,147,483,647
uint 32bit
0 do 4,294,967,295
long 64bit
-9,223,372,036,854,775,808 do 9,223,372,036,854,775,807
ulong 64bit
0 do 18,446,744,073,709,551,615
float 32bit
-3.402823e38 do 3.402823e38
double 64bit
-1.79769313486232e308 do 1.79769313486232e308
decimal 128bit
(-7.9 x 1028 do 7.9 x 1028) / 100 do 28
Notatka

Wartości typów wartościowych są przechowywane w stosie, co oznacza, że są bardziej efektywne od typów referencyjnych (reference types) i mają mniejsze zużycie pamięci.