Typy danych w C#: Double, Liczba całkowita, Float, Char
⚡ Inteligentne podsumowanie
Typy danych w języku C# definiują rodzaj wartości, jakie może przechowywać zmienna, od liczb całkowitych i zmiennoprzecinkowych po wartości logiczne i ciągi znaków, a także określają, ile pamięci rezerwuje każda zmienna podczas wykonywania programu.

Jakie są typy danych w języku C#?
Język C# zawiera zestaw podstawowych typów danych. Te typy danych służą do tworzenia wartości używanych w aplikacji. Przyjrzyjmy się podstawowym typom danych dostępnym w języku C#. W każdym przykładzie zmodyfikujemy tylko główną funkcję w naszym pliku Program.cs.
1) Liczba całkowita
Typy danych Integer są używane do pracy z liczbami. W tym przypadku liczby są liczbami całkowitymi, takimi jak 10, 20 lub 30. W C# typ danych jest oznaczony przez Słowo kluczowe Int32. Poniżej znajduje się przykład wykorzystania tego typu danych. W naszym przykładzie zdefiniujemy zmienną Int32 o nazwie num. Następnie przypiszemy do zmiennej wartość całkowitą i odpowiednio ją wyświetlimy.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 num=30; Console.Write(num); Console.ReadKey(); } } }
Code Wyjaśnienie:-
- Typ danych Int32 jest określony w celu zadeklarowania zmiennej typu Integer o nazwie num. Zmiennej zostaje wówczas przypisana wartość 30.
- Na koniec funkcja console.write służy do wyświetlania liczby na konsoli.
Jeżeli powyższy kod został wpisany poprawnie i program zostanie pomyślnie wykonany, wyświetlony zostanie poniższy komunikat.
Wyjście:
Z wyników wyraźnie widać, że w konsoli wyświetlono zmienną typu Integer o nazwie num
2) Double
Typ danych double jest używany do pracy z liczbami dziesiętnymi. W tym przypadku liczby są liczbami całkowitymi, takimi jak 10.11, 20.22 lub 30.33. W C# typ danych jest oznaczony słowem kluczowym „Double„. Poniżej znajduje się przykład tego typu danych.
W naszym przykładzie zdefiniujemy zmienną typu double o nazwie num. Następnie przypiszemy Double wartość zmiennej, a następnie odpowiednio ją wyświetl.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { double num=30.33; Console.Write(num); Console.ReadKey(); } } }
Code Wyjaśnienie:-
- Określono typ danych double, aby zadeklarować typ double zmienna zwany nr. Zmiennej zostaje wówczas przypisana wartość 30.33.
- Na koniec funkcja console.write służy do wyświetlania liczby na konsoli.
Jeżeli powyższy kod został wpisany poprawnie i program zostanie pomyślnie wykonany, wyświetlony zostanie poniższy komunikat.
Wyjście:
Z wyników wyraźnie widać, że w konsoli wyświetlono zmienną typu double o nazwie num
3) Wartość logiczna
Do pracy z wartościami Boolean używany jest typ danych Boolean prawda i fałsz. W C# typ danych jest oznaczony słowem kluczowym Boolean. Poniżej znajduje się przykład tego typu danych, który można zastosować.
W naszym przykładzie zdefiniujemy zmienną logiczną o nazwie „status”. Następnie przypiszemy do zmiennej wartość logiczną i odpowiednio ją wyświetlimy.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Boolean status=true; Console.Write(status); Console.ReadKey(); } } }
Code Wyjaśnienie:-
- Typ danych boolowskich jest określony w celu zadeklarowania zmiennej logicznej zwanej „statusem”. Następnie zmiennej przypisuje się wartość prawda/fałsz.
- Na koniec funkcja console.write służy do wyświetlania wartości logicznej na konsoli.
Jeśli powyższy kod został wpisany poprawnie i program zostanie pomyślnie wykonany, zostanie wyświetlony wynik.
Wyjście:
Z wyników wyraźnie widać, że w konsoli wyświetlono zmienną logiczną równą true
4) Sznurek
Typ danych String służy do pracy z wartościami String. W języku C# typ danych jest oznaczony słowem kluczowym „String”. Poniżej znajduje się przykład tego typu danych.
W naszym przykładzie zdefiniujemy zmienną typu String o nazwie „wiadomość”. Następnie przypiszemy do zmiennej wartość String i odpowiednio ją wyświetlimy.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class program { static void Main(string[] args) { String message="Hello"; Console.Write(message); Console.ReadKey(); } } }
Code Wyjaśnienie:-
- Typ danych String jest określony w celu zadeklarowania zmiennej łańcuchowej zwanej komunikatem. Następnie zmiennej zostaje przypisana wartość „Hello”.
- Na koniec funkcja console.write służy do wyświetlania wartości ciągu w konsoli.
Jeśli powyższy kod został wpisany poprawnie i program zostanie pomyślnie wykonany, zostanie wyświetlony wynik.
Wyjście:
Z wyników wyraźnie widać, że w konsoli wyświetlono zmienną typu String o nazwie message
Pełna lista typów danych C#
Cztery powyższe przykłady obejmują najpopularniejsze typy, ale C# oferuje pełen zestaw wbudowanych typów danych wartości. Każdy typ rezerwuje stałą ilość pamięci i akceptuje określony zakres wartości, więc wybór najmniejszego typu, który bezpiecznie mieści się w danych, zapewnia wydajność programu.
| DataType | Rozmiar | Zakres / Descriptjon |
|---|---|---|
| bajt | 1 bajtów | 0 do 255 |
| krótki | 2 bajtów | -32,768 do 32,767 |
| int (Int32) | 4 bajtów | -2,147,483,648 do 2,147,483,647 |
| długie | 8 bajtów | Bardzo duże liczby całkowite (±9.2 kwintyliona) |
| unosić się | 4 bajtów | Liczby dziesiętne z dokładnością do około 6–7 cyfr |
| Podwójna | 8 bajtów | Liczby dziesiętne z dokładnością do około 15–16 cyfr |
| dziesiętny | 16 bajtów | Wysoka precyzja liczb dziesiętnych (28–29 cyfr) dla pieniędzy |
| zwęglać | 2 bajtów | Pojedynczy znak Unicode |
| bool | 1 bajtów | prawda czy fałsz |
Oprócz typów wartości, typ ciągu jest najczęściej używanym typem referencyjnym i przechowuje sekwencję znaków dowolnej długości. Wybór odpowiedniego typu zapobiega błędom przepełnienia i niepotrzebnemu zużyciu pamięci.
Typy wartości a typy referencyjne w języku C#
Każdy typ danych w języku C# należy do jednej z dwóch grup: typów wartości i typów referencyjnych. To rozróżnienie kontroluje sposób, w jaki C# przechowuje dane oraz zachowanie zmiennej po jej skopiowaniu lub przekazaniu do metody.
- Typy wartości: Przechowują one rzeczywiste dane bezpośrednio, zwykle na stosie. int, double, bool, char, wyliczanie, i struct to typy wartości. Przypisanie jednej zmiennej do drugiej kopiuje wartość, dzięki czemu obie zmienne pozostają niezależne.
- Typy odniesień: Przechowują one referencję (adres pamięci) wskazującą na dane na stercie. Ciągi znaków, obiekty, tablice i instancje klas to typy referencyjne. Kopiowanie zmiennej referencyjnej kopiuje tylko adres, więc obie zmienne współdzielą ten sam obiekt.
Zmienna typu wartości nigdy nie może być null, ponieważ zawsze przechowuje wartość, podczas gdy niezainicjowany typ referencyjny domyślnie przyjmuje wartość null. Zrozumienie tej różnicy pomaga przewidzieć, jak zmiany danych przepływają przez program.
Konwersja typu w C#
Język C# często musi przenieść wartość z jednego typu danych do innego, na przykład zamieniając dane wprowadzane przez użytkownika, które zawsze są tekstem, na liczbę. Proces ten nazywa się konwersją typu i przebiega na trzy główne sposoby.
- Konwersja niejawna: Kompilator konwertuje automatycznie, jeśli nie ma ryzyka utraty danych, np. przypisywania typu int do typu double. Nie jest wymagana żadna specjalna składnia.
- Konwersja jawna (rzutowanie): Typ docelowy umieszczasz w nawiasach, np. (int)myDoubleRzutowanie może powodować utratę danych — konwersja typu double na int powoduje utratę części dziesiętnej — dlatego świadomie akceptujesz to ryzyko.
- Metody pomocnicze: Klasa Convert (Convert.ToInt32) i metoda Parse każdego typu (int.Parse) zamieniają ciągi znaków na liczby, natomiast ToString zamienia wartości z powrotem na czytelny tekst.
Wybór właściwej konwersji zapewnia dokładność danych i zapobiega błędom wykonania, gdy typy po obu stronach zadania nie są zgodne.








