Базове Приведення Типів
Свайпніть щоб показати меню
Перетворення типів — це процес зміни значення з одного типу даних на інший. Це часто можливо між типами, які представляють числа. Наприклад, можна перетворити float у int і навпаки. Однак, перетворення string безпосередньо у int не має логічного сенсу і неможливе без додаткових дій.
Існують два види перетворення типів: неявне перетворення типів та явне перетворення типів.
Неявне перетворення типів відбувається автоматично, коли значення змінюється з одного типу на інший, зазвичай з меншого на більший тип даних.
main.cs
1234int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double
Неявне перетворення типів відбувається автоматично, коли менший тип даних перетворюється у більший. Розмір типу даних визначається тим, скільки даних він може зберігати, вимірюється у бітах. Наприклад, int може містити 32 біти, а long — 64 біти, тому перетворення int у long відбувається автоматично. Аналогічно, float можна перетворити у double без жодних проблем.
Ось перелік типів даних, впорядкованих від найменшого до найбільшого:
char -> int -> long -> float -> double
Явне перетворення типів — це коли ви, як програміст, вказуєте комп'ютеру перетворити значення у інший тип даних. Це необхідно при перетворенні з більшого типу даних у менший, оскільки частина даних може бути втрачена. Наприклад, перетворення числа з плаваючою комою 3.14 у ціле число дає результат 3, втрачаючи дробову частину. Саме тому потрібно явно вказувати комп'ютеру виконати таке перетворення.
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }
Щоб виправити помилку в наведеному вище коді, необхідно явно привести val1 до цілочисельного значення.
Синтаксис приведення виглядає так: (datatype) value, наприклад (int) 3.1415. У цьому випадку слід написати (int) val1:
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат