Fizyka szkoła podstawowa
Fizyka: wzory, prawa i teoria. Rozwiązania zadań z omówieniem

Rozwązanie zadania:

Fizyka w szkole

Typy wartościowe w C#

Cel: Napisz aplikację, która z listy wyboru typów zmienny zwróci ich rozmiar

typy wartościowe w języku C#

W języku C# zmienne są podzielone według poniższego rodzaju:

  • typy wartościowe
  • typy referencyjne
  • typy wskaźnikowe

Zanim przystąpimy do rozwiązania podanego celu zapoznamy się z listą dostępnych typów wartościowych i ich zakresem

Typy zmiennych
TypReprezentacjaZakres
booltyp logicznytrue lub false
byte8-bitowa liczba całkowita0 do 255
char16-bitowy znak z tablicy UnicodeU +0000 do U +ffff
decimal128-bitowa wartość dziesiętna z dokładnością 28-29 cyfr znaczących(-7.9⋅1028 do 7.9⋅1028)/100 do 28
double64-bitowa wartość o podwójnej precyzji używana do obliczeń zmiennoprzecinkowych(+/-)5.0⋅10-324 do (+/-)1.7⋅10308
float32-bitowa wartość o pojedynczej prezycji używana do obliczeń zmiennoprzecinkowych-3.4⋅1038 do + 3.4⋅1038
int32-bitowa liczba całkowita-2 147 483 648 do 2 147 483 647
long64-bitowa liczba całkowita-9 223 372 036 854 775 808 do 9 223 372 036 854 775 807
sbyte8-bitowa liczba całkowita-128 do 127
short16-bitowa liczba całkowita-32 768 do 32 767
uint32-bitowa liczba całkowita (bez możliwości przechowywania liczb ujemnych)0 do 4 294 967 295
ulong64-bitowa liczba całkowita (bez możliwości przechowywania liczb ujemnych)0 do 18 446 744 073 709 551 615
ushort16-bitowa liczba całkowita (bez możliwości przechowywania liczb ujemnych)0 do 65 535

Krok 1. Układ komponentów na formatce

Na formatce umieszczamy poniższe komponenty

  • Label- sztuk 1
  • ComboBox- sztuk 1
  • Button- sztuk 3
układ komponentów

Komponent Label posłuży nam do wyświetlenia informacji zwrotnej o rozmiarze typu zmiennej, a komponent ComboBox będzie pełnił rolę kontenera na sztywno wprowadzone nazwy typów wartościowych języka C#.

komponent ComboBox visual studio

Krok 2. Zwracamy rozmiar dowolnego typu zmiennej na przykład typu float

Do tego celu wykorzystamy zdarzenie kliknięcia klawisza a treść komunikatu wyślemy do komponentu Label

Wykorzystamy jednoargumentowy operator siezeof(), który zwraca liczbę bajtów zajmowaną przez zmienną danego typu. Instrukcja zwracająca rozmiar

label1.Text = Convert.ToString(sizeof(float))+" B; ";

Jeżeli chcesz zmierzyć rozmiar zadeklarowanej zmiennej, to należy użyć polecenia z klasy Marshal (przestrzeń nazw using System.Runtime.InteropServices;)

int x;
int rozmiar = Marshal.SizeOf(x);

Przykładowa zawartość funkcji obsługującej kliknięcie klawisza może wyglądać jak poniżej

private void Button1_Click(object sender, EventArgs e)
{
label1.Text = Convert.ToString(sizeof(float))+" B";
}

Jeżeli chcemy odczytać przedział zakresu dla danego typu zmiennych, to używamy poleceń MinValue i MaxValue przypisanych przy klasie wybranego typu. Zmodyfikowane ciało funkcji przyjmie postać:

label1.Text = Convert.ToString(sizeof(float))+" B; ";
label1.Text = label1.Text + " min:" + float.MinValue.ToString() + " max:" + float.MaxValue.ToString();

Krok 3. Ustalamy właściwości komponentu ComboBox

Wygląd stylu komponentu ustalimy na DropDownList

stylu komponentu ustalimy na DropDownList

Zawartość treści listy komponentu ComboBox wprowadzamy poprzez wbudowany edytor kolekcji ciągów listy, który przypisany jest do właściwości Items

Zawartość treści listy komponentu combobox visual studio

Każdy kolejno wprowadzony wiersz tworzy kolekcję listy

Każdy kolejno wprowadzony wiersz tworzy kolekcję listy

Krok 4. Odczyt aktywnego indeksu komponentu ComboBox

Wprowadzone wiersze do kolekcji są indeksowane od pozycji 0 wzwyż. Jeżeli nic nie wybrano z listy ComboBox, to aktywny indeks wynosi -1 (minus jeden). Sprawdzenie aktywnego indeksu komponentu ComboBox odbywa się poprzez polecenie SelectedIndex, na przykład

comboBox1.SelectedIndex

Odczyt aktywnego tekstu dla tego komponentu, to wykonanie instrukcji

comboBox1.Text

Wykorzystamy te instrukcje oraz instrukcję switch w celu zautomatyzowania odczytu rozmiarów i zakresów wprowadzonych typów wartościowych do kolekcji komponentu ComboBox

Krok 5. Zwracamy komunikat o rozmiarze i zakresie wybranego typu zmiennych

Zwracamy komunikat o rozmiarze i zakresie wybranego typu zmiennych

Instrukcja zaznaczenia switch, wybiera jedną z sekcji case po sprawdzeniu dopasowania wzorca. W naszym rozwiązaniu musimy zadbać o prawidłową kolejność definiowania wzorca sekcji case. Kolejność musi być zgodna z kolejnością wprowadzonej kolekcji komponentu ComboBox.

Przykładowy komunikat wysyłany do komponentu Label może być zrealizowany jak poniżej

private void Button2_Click(object sender, EventArgs e)
{
string s = "Typ: "+comboBox1.Text +"; rozmiar:";
switch (comboBox1.SelectedIndex)
{
case 0: label1.Text =s + Convert.ToString(sizeof(bool)) + "B";break;
case 1: label1.Text =s + Convert.ToString(sizeof(byte)) + "B; min: "+byte.MinValue.ToString()+", max:" +byte.MaxValue.ToString();break;
case 2: label1.Text = s + Convert.ToString(sizeof(char)) + "B; min: " + char.MinValue.ToString() + ", max:" + char.MaxValue.ToString(); break;
case 3: label1.Text = s + Convert.ToString(sizeof(decimal)) + "B; min: " + decimal.MinValue.ToString() + ", max:" + decimal.MaxValue.ToString(); break;
......
......
......
case 12: label1.Text = s + Convert.ToString(sizeof(ushort)) + "B; min: " + ushort.MinValue.ToString() + ", max:" + ushort.MaxValue.ToString(); break;
}
}


Aplikacje na Androida

Okręty- bitwa morska
okręty gra sieciowa
Darmowa aplikacja na Androida
Kalkulator jednostek fizycznych
Kalkulator jednostek fizycznych (tablet, smartfon, telefon)
Znaki drogowe.
znaki drogowe na telefon, tablet, smartfon
Darmowa aplikacja na Androida
Geometria. Wzory
geometri kalkulator wzory figur bryl

© baibaz - stock.adobe.com

przepis na gofryZobacz przepis na wyśmienite gofry