C# Приведення типів (кастинг)
C# Приведення типів (кастинг)
Приведення (кастинг) типу – це коли ви присвоюєте значення одного типу даних іншому типу.
У C# є два типи приведення:
- Неявний кастинг (автоматично) - перетворення меншого шрифту на більший розмір шрифту
char
->int
->long
->float
->double
- Явний кастинг (вручну) — перетворення більшого типу на тип меншого розміру
double
->float
->long
->int
->char
Неявний кастинг
Неявний кастинг (приведення) виконується автоматично під час передачі типу меншого розміру до типу більшого розміру:
Приклад
int myInt = 9;
double myDouble = myInt; // автоматичний кастинг: int до double
Console.WriteLine(myInt); // Виведе 9
Console.WriteLine(myDouble); // Виведе 9
Явний кастинг
Явний кастинг (приведення) потрібно виконати вручну, розмістивши тип у круглих дужках перед значенням:
Приклад
double myDouble = 9.78;
int myInt = (int) myDouble; // Ручний кастинг: double до int
Console.WriteLine(myDouble); // Виведе 9.78
Console.WriteLine(myInt); // Виведе 9
Методи перетворення типів
Також можна явно конвертувати типи даних за допомогою вбудованих методів, як-от Convert.ToBoolean
, Convert.ToDouble
, Convert.ToString
, Convert.ToInt32
(int
) та Convert.ToInt64
(long
):
Приклад
int myInt = 10;
double myDouble = 5.25;
bool myBool = true;
Console.WriteLine(Convert.ToString(myInt)); // конвертує int в string
Console.WriteLine(Convert.ToDouble(myInt)); // конвертує int в double
Console.WriteLine(Convert.ToInt32(myDouble)); // конвертує double в int
Console.WriteLine(Convert.ToString(myBool)); // конвертує bool в string
Для чого потрібна конвертація (перетворення) типу?
Часто немає потреби в конвертації (перетворенні) типу. Але іноді це необхідно. Подивіться наступний розділ під час роботи з користувацьким введенням, щоб побачити приклад цього.