Jawna konwersja typów
Konwersja jawna, zwana również konwersją rzutowaniem, polega na przekształceniu jednego typu na inny przy użyciu operatora rzutowania lub metody konwersji. Jest to potrzebne, gdy konwersja niejawna jest niemożliwa lub gdy chcemy zmienić typ danych, niezależnie od tego, czy jest to bezpieczne czy nie.
Przykład konwersji jawnej za pomocą operatora rzutowania:
double a = 5.5; // Deklaracja i inicjalizacja zmiennej typu double o wartości 5.5
int b = (int)a; // Rzutowanie (jawna konwersja) wartości zmiennej a na typ int i przypisanie do zmiennej b
// W języku C#, konwersja wartości zmiennoprzecinkowych (double) do całkowitych (int) wymaga jawnej konwersji (rzutowania).
// W wyniku rzutowania, wartość zmiennej a typu double zostaje przypisana do zmiennej b typu int. Część ułamkowa 0.5 zostaje utracona, a wartość zmiennej b będzie wynosić 5.
// Konieczność rzutowania wynika z różnicy w reprezentacji i zakresie wartości pomiędzy typem double (zmiennoprzecinkowy) a typem int (całkowitoliczbowy).
Przykład konwersji jawnej za pomocą metody konwersji:
string str = "5"; // Deklaracja i inicjalizacja zmiennej typu string o wartości "5"
int number = Convert.ToInt32(str); // Konwersja (parsowanie) wartości zmiennej str na typ int i przypisanie do zmiennej number
// W języku C#, możemy skonwertować (sparsować) wartość tekstową (string) na liczbę całkowitą (int) za pomocą metody Convert.ToInt32().
// W tym przypadku, wartość zmiennej str typu string zawiera "5", która jest poprawną reprezentacją liczby całkowitej.
// Metoda Convert.ToInt32() parsuje wartość tekstową zmiennej str na typ int i przypisuje ją do zmiennej number.
// W wyniku parsowania, wartość zmiennej str zostaje skonwertowana na wartość liczbową, a zmienna number będzie miała wartość 5.
// Jeśli wartość zmiennej str nie może zostać przekonwertowana na typ int (na przykład, gdy zawiera niepoprawną reprezentację liczby), zostanie zgłoszony wyjątek FormatException.