c data types variables with examples
W tym samouczku wyjaśniono C # typy danych i zmienne. Możesz nauczyć się definiować, inicjować i deklarować zmienną wraz z różnymi typami danych w języku C #:
Struktura programu C # i program podstawowy zostały szczegółowo wyjaśnione w naszym poprzednim samouczku.
Ten samouczek języka C # zawiera wszystkie informacje na temat typów danych i zmiennych w języku C # z prostymi przykładami ułatwiającymi zrozumienie.
=> Sprawdź szczegółowe samouczki szkoleniowe języka C # tutaj
Czego się nauczysz:
Typ danych C #
Typy danych są kluczowymi składnikami dowolnego języka programowania, jak już omówiliśmy w poprzednim samouczku, że typ danych musi być zadeklarowany dla zmiennej.
Typ danych komunikuje się z kompilatorem, informując go o typie danych, które może przechowywać w nim określona zmienna. C # ma kilka wbudowanych typów danych, takich jak Boolean, Integer, Float, Decimal itp.
Za każdym razem, gdy deklarowana jest zmienna z typem danych, system przydziela część pamięci do przechowywania jej wartości.
class Program { static void Main(string() args) { string stringVariable = 'Some value'; } }
Każdy z typów danych w języku C # ma określony zakres wartości, ponieważ jeśli zmienna jest zadeklarowana jako typ danych całkowitoliczbowych, może zawierać dowolną określoną wartość z zakresu od -2 147 483 648 do 2 147 483 647. Podobnie inne typy danych mają własny zestaw zakresu wartości.
Przyjrzyjmy się niektórym wartościom i ich zakresom.
ba pytania i odpowiedzi do wywiadu pdf
Rodzaj | Reprezentuje | Zasięg | Domyślna wartość |
---|---|---|---|
podwójnie | 64-bitowy typ zmiennoprzecinkowy o podwójnej precyzji | (+/-) 5,0 x 10 podnosi do -324 do (+/-) 1,7 x 10 podnosi do 308 | 0,0D |
strunowy | Seria postaci | ||
zwęglać | Znak Unicode | ||
obiekt | Rodzaj obiektu | ||
bool | Wartość logiczna | Prawda czy fałsz | Fałszywy |
bajt | 8-bitowa liczba całkowita bez znaku | Od 0 do 255 | 0 |
dziesiętny | wartości dziesiętne zawierające 28-29 cyfr znaczących | (+ lub -) 1,0 x 10e-28 do 7,9 x 10e28 | 0,0 mln |
int | 32-bitowy typ liczby całkowitej ze znakiem | -2 147 483 648 do 2 147 483 647 | 0 |
pływak | 32-bitowy typ zmiennoprzecinkowy o pojedynczej precyzji | Podbicie -3,4 x 10 do 38 do + 3,4 x 10 podbicie do 38 | 0,0F |
długo | 64-bitowy typ liczby całkowitej ze znakiem | -9.223.372.036.854.775.808 do 9.223.372.036.854.775.807 | 0L |
uint | 32-bitowy typ liczby całkowitej bez znaku | Od 0 do 4 294 967 295 | 0 |
krótki | 16-bitowy typ liczby całkowitej ze znakiem | -32 768 do 32767 | 0 |
głowa | 64-bitowy typ liczby całkowitej bez znaku | Od 0 do 18 446 744 073 709 551 615 | 0 |
Jak widać w powyższej tabeli, każdy z typów danych z wyjątkiem String, Character i Object ma wartość mieszczącą się we wstępnie zdefiniowanym zakresie. Kompilator C # zgłosi błąd, jeśli typ danych przekracza wstępnie zdefiniowany zakres wartości.
Na przykład, jeśli podamy wartość mniejszą niż 0 lub większą niż 255 do bajtowego typu danych, to zgłosi błąd. Typy danych są ponownie klasyfikowane jako Typ odniesienia, Typ wartości i Typ wskaźnika. Zależy to od cech zmiennych, takich jak to, czy przechowuje swoje dane, czy po prostu wskazuje określone dane w miejscu pamięci.
Zmienna C #
Zmienna to nazwa, którą podajemy miejscu przechowywania, w którym przechowujemy nasze wartości. Każda ze zmiennych w środowisku C # ma swój własny typ, który jest dodatkowo definiowany przez jego cechy, takie jak typ i rozmiar wartości, którą może przechowywać. Definiuje również zestaw operacji, które program może wykonać w celu manipulowania tą wartością.
Poniżej przedstawiono podstawowe typy wartości w języku C #, które można dalej podzielić na typy danych:
- Typy całkowe
- Ruchomy
- Boolean
- Dziesiętny
- Nullable
Zmienna w C # jest zawsze definiowana przy użyciu typu danych. W związku z tym składnia deklaracji zmiennej będzie taka, jak pokazano poniżej.
;
Definicja typu danych musi być prawidłowym C # typem danych, który obejmuje float, int, double, char lub dowolny inny typ danych, który może zdefiniować użytkownik. Nazwa zmiennej to nazwa wybrana przez użytkownika do identyfikacji zmiennych. Zmienną można zainicjować i zadeklarować w tym samym czasie lub można ją najpierw zainicjować i zadeklarować później.
Przykład: Tutaj najpierw inicjalizujemy zmienne, a następnie deklarujemy je w dalszej części programu.
string val; val = 'Hello World!!';
Lub możemy zainicjować i zadeklarować zmienną w tym samym wystąpieniu.
string val = 'Hello World';
Tutaj inicjalizujemy zmienną „val” z danymi typu string i jednocześnie przypisujemy jej wartość np. „Hello World”
Wiele deklaracji zmiennych jest również możliwych w jednym wierszu, oddzielając je przecinkami.
int i, j, k, l;
Deklarując wiele zmiennych, możesz również umieścić je w wielu wierszach dla lepszej czytelności. Nawet jeśli są one rozproszone, kompilator wielowierszowy uzna je za znajdujące się w tym samym wierszu poleceń, dopóki nie napotka średnika „;”.
Na przykład:
int i, j, k, l;
Możemy również zdefiniować jedną zmienną z przypisaną wartością oraz możemy zdefiniować inną zmienną, przypisując jej pierwszą zmienną.
int i = 20; int j = I;
Zmiennej należy przypisać wartość przed jej użyciem, w przeciwnym razie kompilator wyświetli błąd.
Możesz również akceptować wartości w zmiennej bezpośrednio od użytkownika, wywołując klasę Console w przestrzeni nazw System i używając jej funkcji ReadLine ().
co to jest plik bin?
Przykład:
string read; read = Console.ReadLine();
W powyższym przykładzie zadeklarowaliśmy odczyt ciągu, a następnie użyliśmy zmiennej read do przechowywania danych wejściowych od użytkownika za pomocą polecenia Console.ReadLine. Polecenie Console.ReadLine akceptuje dane tylko w formacie string, więc jeśli chcemy przechowywać wartość w dowolnej innej zmiennej typu danych, to przed przypisaniem musimy ją przekonwertować na żądany typ danych.
Klasyfikacja typów danych
W powyższej sekcji skategoryzowaliśmy typy danych w oparciu o typ wartości, które akceptują, i pamięć ilościową, której używają do przechowywania typu danych. Dalsze typy danych można ogólnie podzielić na dwie kategorie w zależności od tego, jak wartość jest przechowywana w ich pamięci.
- Typ wartości
- Typ odniesienia
# 1) Typ wartości
Typy danych typu wartości to zmienne, które przechowują wartość danych we własnej wyznaczonej przestrzeni pamięci osobistej. Dlatego te typy danych bezpośrednio przechowują swoje wartości.
int i = 20;
Tutaj zmienna całkowita „i” bezpośrednio przechowuje wartość 20.
# 2) Typ odniesienia
W przeciwieństwie do typu wartości, typ referencyjny nie przechowuje bezpośrednio wartości. Zamiast bezpośrednio przechowywać wartość, przechowuje adres, pod którym wartość może być przechowywana. Mówiąc prościej, zmienna typu referencyjnego po prostu przechowuje odniesienie do określonej lokalizacji pamięci, która może przechowywać wymagane dane.
Niektóre z danych typu referencyjnego obejmują ciąg, tablice, klasę, itp. Dlatego też, jeśli w danych zostaną wprowadzone jakiekolwiek zmiany, druga zmienna automatycznie odziedziczy nową zmienioną wartość, a jeśli nie ma wartości przypisanych do typu odwołania, to domyślnie zawiera wartość null.
Istnieją trzy różne typy referencyjne:
- Rodzaj obiektu
- Typ dynamiczny
- Strunowy
# 1) Typ obiektu
Typ obiektu jest uważany za klasę bazową dla wszystkich obiektów w językach programowania C #. Typom obiektów można przypisać wartości dowolnego innego typu, w tym typ wartości, typy zdefiniowane przez użytkownika lub nawet dowolny inny typ referencyjny.
object obj = 25;
# 2) Typ dynamiczny
Typ dynamiczny może służyć do przechowywania dowolnej zmiennej dynamicznej lub typu danych. Sprawdzanie typu zmiennej dynamicznej jest przeprowadzane w czasie wykonywania, a nie w czasie kompilacji.
dynamic dyn = 123;
# 3) Typ ciągu
Typ łańcuchowy jest jednym z najczęściej używanych typów danych. Służy do przypisywania serii wartości znaków do zmiennej. Słowo kluczowe string odnosi się do typu obiektu System. Klasa string.
String strng = “hello world”;
Konwersja typu danych
Konwersja typu danych polega na konwersji jednego typu danych na inny. Czasami jest również nazywany jako Rzutowanie typów w języku C # .
Istnieją dwa rodzaje konwersji:
- Niejawna konwersja
- Jawna konwersja
(i) Niejawna konwersja
Niejawna konwersja jest łatwiejsza w użyciu, ponieważ nie używa składni, ponieważ konwersja jest bezpieczna dla typu i nie powoduje utraty danych. Nie powoduje utraty danych i nie wymaga nawet żadnej składni. W niejawnej konwersji mniejszy typ danych jest konwertowany na większy typ danych.
Na przykład, konwersja liczby całkowitej na podwójną. Nawet jeśli przekonwertujemy dane typu całkowitego na typ podwójny, nie nastąpi utrata danych, ponieważ double będący większym typem może z łatwością pomieścić zmienną o mniejszym typie.
int a = 10; double b = a;
(ii) Jawna konwersja
Jawne konwersje są przeprowadzane przez użytkownika przy użyciu składni konwersji typu. W przypadku jawnej konwersji wymagany jest operator rzutowania. Ten typ konwersji jest najczęściej używany do konwersji większych typów na mniejsze typy lub do konwersji klasy bazowej na jej klasę pochodną.
Ze względu na różnicę w strukturze danych podczas konwersji może dojść do utraty niektórych danych, a nawet może spowodować wyświetlenie błędu. To nie jest bezpieczna konwersja typu.
int a = 10; double b = a;
Wniosek
W tym samouczku poznaliśmy zmienne i typy danych. Omówiliśmy, jak możemy zdefiniować zmienną. Nauczyliśmy się również inicjować i deklarować zmienną. Widzieliśmy różne typy danych, których można użyć do zadeklarowania zmiennej.
Każdy typ danych ma własny zestaw zakresów, w których zadeklarowana jest wartość, a jeśli nie mamy zadeklarowanej wartości, przechowywana jest wartość domyślna. Widzieliśmy również, jak jeden zestaw typów danych można przekonwertować na inny przy użyciu konwersji niejawnej i jawnej.
Niejawne konwersje są bezpieczne dla typów, ponieważ podczas konwersji nie następuje utrata danych, głównie dlatego, że mniejszy typ danych jest konwertowany na większy typ danych. Z drugiej strony jawna konwersja może spowodować utratę danych, ponieważ większy typ danych jest konwertowany na mniejszy typ danych.
W następnym samouczku omówimy szczegółowo typ danych i spróbujemy przekształcić jeden typ danych w inny.
=> Obejrzyj całą serię szkoleń C # tutaj
rekomendowane lektury
- Zmienne Pythona
- Data Mart Tutorial - Rodzaje, przykłady i implementacja Data Mart
- Typy danych w Pythonie
- Typy danych C ++
- Zmienne w C ++
- Parametryzacja danych JMeter za pomocą zmiennych zdefiniowanych przez użytkownika
- Typy testów migracji: ze scenariuszami testów dla każdego typu
- Przykłady eksploracji danych: najczęstsze zastosowania eksploracji danych 2021