C# Language
Konwersja typu
Szukaj…
Uwagi
Konwersja typów polega na konwertowaniu jednego rodzaju danych na inny typ. Znany jest również jako rzut typu. W języku C # rzutowanie typów ma dwie formy:
Niejawna konwersja typu - te konwersje są wykonywane przez C # w sposób bezpieczny dla typu. Na przykład są konwersje z mniejszych na większe typy całkowe i konwersje z klas pochodnych do klas podstawowych.
Jawna konwersja typu - te konwersje są wykonywane jawnie przez użytkowników korzystających ze wstępnie zdefiniowanych funkcji. Jawne konwersje wymagają operatora rzutowania.
Przykład operatora niejawnego MSDN
class Digit
{
public Digit(double d) { val = d; }
public double val;
// User-defined conversion from Digit to double
public static implicit operator double(Digit d)
{
Console.WriteLine("Digit to double implict conversion called");
return d.val;
}
// User-defined conversion from double to Digit
public static implicit operator Digit(double d)
{
Console.WriteLine("double to Digit implict conversion called");
return new Digit(d);
}
}
class Program
{
static void Main(string[] args)
{
Digit dig = new Digit(7);
//This call invokes the implicit "double" operator
double num = dig;
//This call invokes the implicit "Digit" operator
Digit dig2 = 12;
Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val);
Console.ReadLine();
}
}
Wynik:
Nazywa się konwersja cyfry na podwójną domyślną
wywoływana konwersja podwójna na cyfrową
num = 7 dig2 = 12
Wersja demonstracyjna na żywo .NET Fiddle
Jawna konwersja typu
using System;
namespace TypeConversionApplication
{
class ExplicitConversion
{
static void Main(string[] args)
{
double d = 5673.74;
int i;
// cast double to int.
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow