BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Aktualności


casting

16-12-2013 21:16 Konrad Tomczyk
casting

Jak zapewne wiesz C#, jest językiem który ściśle przestrzega zgodności typów np. zmiennych. Dlatego nie możesz bezpośrednio przypisać zmiennej int wartości double. Jak wiesz zmienna double jest zmienną podwójnej precyzji np. 45,012. Dlatego jak próbujesz przypisać liczbę tylu double do int to występuje błąd nie zgodności typów. Jednak C# pozwala na pewne obejście tego procederu. Otóż pomaga nam tak zwane: Rzutowanie niekompatybilnych typów, zwane casting. Ogólna deklaracja rzutowania wygląda następująco:

zmienna1 = (typ docelowy) zmienna2 ;

Gdzie typ docelowy zazwyczaj jest takim samym typem jak zmienna1.

Działanie castingu prześledź na poniższym przykładzie:
Początek kodu:
using System ;


class Pokaz
{
public static void Main()
{
double a = 2541.259 ;
int wartosc ;
wartosc = (int) a ;
Console.WriteLine(wartosc);
}

}

Koniec kodu:

Zmienna ‘a’ jest typu double, zatem nie da się jej przypisać do zmiennej typu int. Jednak dzięki rzutowaniu z zmiennej double jest brana całość, a jedności przepadają. Nie myśl, że zmienna ‘a’ jest zaokrąglana, po prostu to co jest po kropce jest tracone w tym przypadku to .25, a do zmiennej ‘wartosc’ jest przypisywane to co jest przed kropką.

Przyjrzyj się jeszcze poniższemu przykładowi gdzie zostało wykorzystane rzutowanie, na tym char aby uzyskać specjalny znak UnitCode:
Początek kodu:
using System ;


class Pokaz
{
public static void Main()
{
char znak ;
byte liczba = 167 ;
znak = (char) liczba ;
Console.WriteLine(znak);
}

}

Koniec kodu:

Za zadanie dostajesz napisanie programu który wyświetla wszystkie znaki unitcode, jest ich 254, za pomocą rzutowanie. Jeżeli nie wiesz jak to wykonać to podpowiem ci że za pomocą pętli. Reszta powinna być jasna. Poniżej jest rozwiązanie, pamiętaj aby samemu rozwiązać zadanie, nie zaglądając do rozwiązania!!!
Początek kodu:

using System ;


class Pokaz
{
public static void Main()
{
char znak ;
for (byte liczba = 0 ; liczba <= 254 ; liczba++)
{
znak = (char) liczba ;
Console.WriteLine(znak);
}
}
}

Koniec kodu:


 

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.