c type casting explicit implicit data conversion with example
Лиття типів даних у C # з прикладами: Цей посібник пояснює явне та неявне перетворення, перетворення в рядки та перетворення типів даних за допомогою допоміжних класів:
Типи даних та змінні в C # були детально пояснені в нашому попередньому підручнику.
Ми дізналися, як один тип даних можна перетворити на інший тип даних за допомогою лиття типів. Трансляція типів розділена на дві частини, тобто неявне та явне перетворення.
Давайте розглянемо глибше кастинг типу C # у цьому посібнику.
=> Шукайте тут простий навчальний посібник з C #
Це неявне перетворення, коли менший тип даних перетворюється у більший тип даних або похідний клас в базовий клас.
З іншого боку, перетворення в зворотному напрямку відоме як явне перетворення. Для перетворення вищого типу даних у менший тип потрібен оператор приведення. Цей тип перетворення не є безпечним для типу і може призвести до втрати даних.
Що ви дізнаєтесь:
Лиття типів даних на C #
У цьому підручнику ми детально обговоримо, як один тип даних може бути перетворений в інший тип даних. C # є статичним типом під час компіляції, що означає, що після оголошення змінної він не може використовуватися для зберігання значень будь-якого іншого типу даних.
Однак це можна подолати, перетворивши цей тип на змінний тип.
який найкращий шпигунський додаток для мобільних телефонів
Спробуємо перетворити значення рядка в ціле число.
int a; a = 'some random string';
Якщо ми скомпілюємо це, він видасть помилку, в якій зазначено, що 'Не вдається неявно перетворити тип' рядок 'у' int '.'
Типи даних можна додатково розділити на основі типів даних.
- Примітивні
- Непримітивний
Примітивні типи даних попередньо визначені, тоді як непримітивні типи даних визначаються користувачем. Типи даних, такі як byte, int, short, float, long, char, bool тощо, називаються примітивними типами даних. Непримітивні типи даних включати клас, перелік, масив, делегат тощо.
У цьому підручнику ми розглянемо різні методи, запропоновані C # для створення тексту.
Неявна конверсія
Неявне перетворення - це найпростіший тип перетворення. Цей тип перетворення є безпечним для типу, і під час перетворення не відбувається втрати даних. Ці перетворення стосуються перетворення похідного класу в базовий клас.
Наприклад, ми можемо безпосередньо використовувати неявне перетворення, якщо значення, яке потрібно зберігати в іншій змінній, може поміститися безпосередньо без втрати даних. Скажімо, ми маємо значення 'ціле число', і ми хочемо передати це значення значенням 'long'.
int i = 75; long j = i;
Явне перетворення
При неявному перетворенні ми побачили, що ми можемо безпосередньо перетворити похідний клас в базовий клас, не втрачаючи жодних даних, але у випадку, якщо існує ймовірність втрати даних, то компілятору потрібно буде виконати явне перетворення.
Явне перетворення або приведення - це процес передачі інформації компілятору, який програма намагається виконати перетворення, знаючи про можливу втрату даних.
Наприклад, якщо ми перетворюємо більше числове значення в нижче.
приклади історій користувачів із критеріями прийняття
double d = 75.25; int i; i = (int)d;
Тепер, якщо ви надрукуєте “i”, ви виявите, що він надрукує “75”. Усі дані після десяткової цифри будуть втрачені при перетворенні.
Перетворення за допомогою різних допоміжних класів
Для перетворення різних несумісних типів, таких як перетворення рядка в число або байтовий масив у ціле чи навіть шістнадцяткове число, в інші числові типи, нам потрібен інший допоміжний клас, оскільки пряме перетворення неможливе.
Тип даних може бути перетворений в інший тип даних за допомогою методів, представлених у класі перетворення, або за допомогою методу TryParse, доступного для різних типів чисел. TryParse є більш корисним, якщо ми перетворюємо рядок у цифру. Це досить просто та ефективно.
int number = Int32.Parse(“123”);
Тут ми перетворили рядок у ціле число за допомогою синтаксичного аналізу.
Давайте розглянемо інший метод перетворення, який є методом перетворення.
Статичні методи, присутні всередині Перетворити клас цілком корисні для перетворення на базовий тип даних або навпаки. Деякі з підтримуваних типів даних: Char, Boolean, Int32, int64, Double, Decimal, String, Int16 тощо. Клас Convert також підтримує методи інших перетворень.
Перетворити на рядок
Метод Convert.ToString перетворює тип даних у рядок. В приклад нижче ми перетворюємо цілочисельний тип даних у рядовий тип даних.
int number = 75; string s = Convert.ToString(number);
InvalidCastException
Іноді можливо, що компілятор може не зрозуміти, чи дійсна виконана операція перетворення одного типу в іншу чи ні. Це призводить до помилки компілятора під час виконання. Як тільки перетворення типу виявиться невдалим, воно видасть недійсний виняток.
InvalidCastException викидається, коли явна реалізація або перетворення типу не підтримується обома типами даних, що використовуються для перетворення.
Висновок
У цьому посібнику ми дізналися типи перетворення та як виконати перетворення між різними типами даних. Неявне перетворення - це перетворення, при якому похідний клас перетворюється в базовий клас, як int, у тип float.
Явне перетворення - це перетворення, яке може спричинити втрату даних. Явне перетворення перетворює базовий клас у похідний клас. Нам може знадобитися виконати перетворення для різних інших типів даних, для цього ми скористаємося допомогою допоміжного класу. Допоміжні класи, такі як “Синтаксичний аналіз” та “Конвертувати”, пропонують різні способи перетворення одного типу даних в інший.
Ми також дізналися про виняток, який компілятор видасть, коли не розуміє перетворення між двома типами.
=> Шукайте тут простий навчальний посібник з C #
Рекомендована література
- Типи даних і змінні C # з прикладами
- Типи даних C ++
- Перетворення типів на C ++
- Видобуток даних: процес, методи та основні проблеми аналізу даних
- Підручник з Data Mart - типи, приклади та реалізація Data Mart
- Типи тестування на міграцію: зі сценаріями тестування для кожного типу
- 10+ найкращих інструментів збору даних із стратегіями збору даних
- Функція пулу даних в IBM Rational Quality Manager для управління тестовими даними