Jawne numeryczne tabeli konwersji (C# odniesienia)
Konwersja jawna numerycznych jest używany do konwersji wszelkich numerycznych na wszelkie inne typ liczbowy, dla których istnieje niejawna konwersja, korzystając z wyrażeniem rzutowania.W poniższej tabeli przedstawiono te konwersje.
Aby uzyskać więcej informacji na temat konwersji, zobacz Rzutowanie i konwersje typów (Podręcznik programowania C#).
Z |
Aby |
---|---|
byte, ushort, uint, ulong, orchar |
|
Sbytelubchar |
|
sbyte, byte, ushort, uint, ulong, or char |
|
sbyte, byte, short, or char |
|
sbyte, byte, short, ushort, uint, ulong,or char |
|
sbyte, byte, short, ushort, int, or char |
|
sbyte, byte, short, ushort, int, uint, ulong, or char |
|
sbyte, byte, short, ushort, int, uint, long, or char |
|
sbyte, byte, or short |
|
sbyte, byte, short, ushort, int, uint, long, ulong, char,or decimal |
|
sbyte, byte, short, ushort, int, uint, long, ulong, char, float,or decimal |
|
sbyte, byte, short, ushort, int, uint, long, ulong, char, float, or double |
Uwagi
Jawne numerycznej konwersji może spowodować utratę precyzji lub wynik throwing wyjątki.
Podczas konwertowania decimal wartość typu integralną, ta wartość jest zaokrąglana w kierunku zera, do najbliższej wartości integralną.Jeśli wynikowa integralną wartość jest spoza zakresu typu docelowego OverflowException jest generowany.
Podczas konwersji z double lub float wartość typu integralną, wartość jest obcinana.Jeśli otrzymana wartość integralną jest poza zakresem wartości docelowej, wynik zależy od przepełnienia, w kontekście kontroli.W kontekście checked OverflowException jest generowane w kontekście niezaznaczone, wynik jest nieokreślona wartość typu miejsca docelowego.
Podczas konwertowania double do float, double wartość jest zaokrąglana do najbliższej float wartości.Jeśli double wartość jest zbyt mały lub zbyt duże, aby dopasować do typu miejsca docelowego, wynik będzie zero lub nieskończoności.
Podczas konwertowania float lub double do decimal, wartość źródłowa jest konwertowany na decimal reprezentację i zaokrąglana do najbliższej liczby po 28 miejsca dziesiętnego, jeśli jest to wymagane.W zależności od wartości wartość źródłowa może wystąpić jeden z następujących wyników:
Jeśli wartość źródłowa jest zbyt mały, aby być reprezentowana jako decimal, wynik staje się zero.
Jeśli wartość źródłowa jest NaN (nie liczba), nieskończoności, lub jest zbyt duży, aby być reprezentowana jako decimal, OverflowException jest generowany.
Podczas konwertowania decimal do float lub double, decimal wartość jest zaokrąglana do najbliższej double lub float wartości.
Aby uzyskać więcej informacji o konwersji jawnej Zobacz jawne w specyfikacji języka C#.Aby uzyskać więcej informacji na temat specyfikacji dostęp do zobacz Specyfikacja języka C#.
Zobacz też
Informacje
Rzutowanie i konwersje typów (Podręcznik programowania C#)
Tabela typów integralną (C# odniesienia)
Wbudowane typy tabeli (C# odniesienia)
Tabeli niejawne konwersje numeryczne (C# odniesienia)