Odnajdywanie typów wartości i typów referencyjnych
- {liczbaMinut} minut
W przypadku wielu typów danych dostępnych w języku C#, wybranie odpowiedniego typu oznacza, że musisz zrozumieć, kiedy warto wybrać jeden typ danych zamiast innego.
Przed omówieniem dlaczego można wybrać jeden typ danych zamiast innego, musisz dowiedzieć się więcej o typach danych. Musisz również wiedzieć, jak działają dane i typy danych w językach C# i .NET.
Co to są dane?
Udzielenie odpowiedzi na pytanie "co to są dane" zależy od tego, kogo pytasz, i w jakim kontekście pytasz.
W tworzeniu oprogramowania dane są zasadniczo wartością przechowywaną w pamięci komputera jako serią bitów.
Bit jest prostym przełącznikiem binarnym, reprezentowanym jako 0 0 lub 1 1, czyli "wyłączone" i "włączone". Pojedynczy bit nie wydaje się przydatny, jednak po połączeniu 8 bitów w sekwencji tworzą bajt. W przypadku użycia w bajtach każdy bit przyjmuje znaczenie w sekwencji. W rzeczywistości można reprezentować 256 różnych kombinacji z zaledwie 8 bitami, jeśli używasz binarnego (base-2) systemu liczbowego.
Na przykład w systemie liczb binarnym można przedstawić liczbę 195 jako 11000011. Poniższa tabela ułatwia wizualizowanie sposobu działania tej funkcji. Pierwszy wiersz zawiera osiem kolumn odpowiadających pozycji w bajtach. Każda pozycja reprezentuje inną wartość liczbową. Drugi wiersz może przechowywać wartość pojedynczego bitu jako albo 0, albo 1.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
W przypadku dodania liczby z każdej kolumny w pierwszym wierszu, który odpowiada wartości 1 w drugim wierszu, otrzymasz dziesiętny odpowiednik reprezentacji systemu liczb binarnych. W tym przypadku będzie to 128 + 64 + 2 + 1 = 195.
Aby pracować z większymi wartościami poza 255, komputer obsługuje więcej bajtów (zazwyczaj 32-bitowych lub 64-bitowych). Jeśli pracujesz z milionami wielkich liczb w kontekście naukowym, może być konieczne dokładniejsze przemyślenie, jakich typów danych używasz. Kod może wymagać więcej pamięci do uruchomienia.
Co z danymi tekstowymi?
Jeśli komputer rozumie tylko 0 i 1, to jak pozwala pracować z tekstem? Korzystając z systemu takiego jak ASCII (American Standard Code for Information Interchange), można użyć pojedynczego bajtu do reprezentowania wielkich i małych liter, cyfr, tabulatora, backspace, nowego wiersza i wielu symboli matematycznych.
Jeśli na przykład chcesz przechowywać małą literę a jako wartość w mojej aplikacji, komputer będzie rozumieć tylko postać binarną tej wartości. Aby lepiej zrozumieć, jak mała litera a jest obsługiwana przez komputer, muszę zlokalizować tabelę ASCII, która zawiera wartości ASCII i ich odpowiedniki dziesiętne. Aby znaleźć taki zasób online, możesz przeszukać hasła "ASCII lookup decimal".
W tym przypadku mała litera a jest równoważna wartości 97dziesiętnej . Następnie należy użyć tego samego systemu liczb binarnych w odwrotnym celu, aby dowiedzieć się, jak litera a ASCII jest przechowywana przez komputer.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Ponieważ 64 + 32 + 1 = 97, 8-bitowy kod binarny ASCII dla a to 01100001.
Prawdopodobnie nigdy nie będzie trzeba wykonywać tych typów konwersji samodzielnie, ale zrozumienie perspektywy komputera danych jest podstawową koncepcją, zwłaszcza w przypadku rozważania typów danych.
Co to jest typ danych?
Typ danych to sposób, w jaki język programowania definiuje ilość pamięci do zapisania dla wartości. Istnieje wiele typów danych w języku C#, które mają być używane w wielu różnych aplikacjach i rozmiarach danych.
W przypadku większości aplikacji które tworzysz w swojej karierze, zdecydujesz się na niewielki podzbiór wszystkich dostępnych typów danych. Jednak nadal ważne jest, aby wiedzieć, że istnieją inne osoby i dlaczego.
Typy wartości a typy referencyjne
Ten moduł koncentruje się na dwóch rodzajach typów w języku C#: typach referencyjnych i typach wartości.
Zmienne typów referencyjnych przechowują odwołania do ich danych (obiektów), czyli wskazują wartości danych przechowywane w innym miejscu. Dla porównania zmienne typów wartości zawierają bezpośrednio swoje dane. Gdy dowiesz się więcej o języku C#, pojawiają się nowe szczegóły związane z podstawową różnicą między typami wartości i odwołaniami.
Proste typy wartości
Proste typy wartości to zestaw wstępnie zdefiniowanych typów udostępnianych przez język C# jako słowa kluczowe. Te słowa kluczowe to aliasy (pseudonim) dla wstępnie zdefiniowanych typów zdefiniowanych w bibliotece klas platformy .NET. Na przykład słowo kluczowe int C# jest aliasem typu wartości zdefiniowanego w bibliotece klas platformy .NET jako System.Int32.
Proste typy wartości obejmują wiele typów danych, które mogły być już używane, takich jak char i bool. Istnieje również wiele typów wartości całkowitych i zmiennoprzecinkowych reprezentujących szeroki zakres liczb całkowitych i ułamkowych.
Podsumowanie
- Wartości są przechowywane jako bity, które działają jak proste przełączniki włącz/wyłącz. Połączenie wystarczającej liczby tych przełączników pozwala przechowywać niemal dowolną możliwą wartość.
- Istnieją dwie podstawowe kategorie typów danych: wartość i typy referencyjne. Różnica polega na tym, jak i gdzie wartości są przechowywane przez komputer podczas wykonywania programu.
- Proste typy wartości używają aliasu słowa kluczowego do reprezentowania formalnych nazw typów w bibliotece .NET.
Sprawdź swoją wiedzę
Opinia
Czy ta strona była pomocna?
Nie
Potrzebujesz pomocy dotyczącej tego tematu?
Chcesz spróbować użyć asystenta Ask Learn, aby wyjaśnić ten temat lub uzyskać instrukcje, które go dotyczą?