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
Для чого потрібна конвертація (перетворення) типу?
Часто немає потреби в конвертації (перетворенні) типу. Але іноді це необхідно. Подивіться наступний розділ під час роботи з користувацьким введенням, щоб побачити приклад цього.