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;
Изрично преобразуване
При неявно преобразуване видяхме, че можем директно да конвертираме производен клас в основен клас, без да губим никакви данни, но в случай, че има вероятност от загуба на данни, тогава компилаторът ще изисква да извърши изрично преобразуване.
Изричното преобразуване или прехвърляне е процес на предаване на информация на компилатора, който програмата се опитва да извърши преобразуване със знанието за възможна загуба на данни.
Въпроси и отговори за интервю за mysql
Например, ако преобразуваме по-висока числова стойност в по-ниска.
double d = 75.25; int i; i = (int)d;
Сега, ако отпечатате „i“, ще откриете, че ще отпечата „75“. Всички данни след десетичната запетая ще бъдат загубени при преобразуването.
как да намерите apk файлове на android таблет
Преобразуване с помощта на различни помощни класове
За да конвертираме между различни несъвместими типове, като например преобразуване на низ в число или байтов масив в цяло число или дори шестнадесетични низове в други числови типове, се нуждаем от различен помощен клас, тъй като директното преобразуване не е възможно.
Типът данни може да се преобразува в друг тип данни, като се използват методи, присъстващи в класа за преобразуване, или чрез метод TryParse, който е достъпен за различните типови числа. TryParse е по-полезен, ако преобразуваме низ в цифра. Това е доста лесно и ефективно.
int number = Int32.Parse(“123”);
Тук преобразувахме низ в цяло число с помощта на parse.
Нека разгледаме друг метод за преобразуване, който е методът Convert.
Статични методи, присъстващи в Преобразуване на клас са доста полезни за конвертиране към базовия тип данни или обратно. Някои от поддържаните типове данни са Char, Boolean, Int32, int64, Double, Decimal, String, Int16 и др. Класът Convert също поддържа методи за други преобразувания.
Преобразуване в низ
Методът Convert.ToString преобразува тип данни в низ. В пример по-долу преобразуваме цяло число тип данни в низ тип данни.
int number = 75; string s = Convert.ToString(number);
InvalidCastException
Понякога е възможно компилаторът да не разбере дали извършената операция за преобразуване на един тип в друг е валидна или не. Това води до неуспех на компилатора по време на изпълнение. След като преобразуването на типа се провали, то ще изведе невалидно изключение.
InvalidCastException се изхвърля, когато изрично изпълнение или преобразуване на типове не се поддържа от двата типа данни, използвани за преобразуване.
Заключение
В този урок научихме видовете преобразуване и как да извършим преобразуване между различни типове данни. Неявното преобразуване е преобразуването, при което производен клас се преобразува в основен клас като int в тип float.
Изричното преобразуване е преобразуването, което може да доведе до загуба на данни. Изричното преобразуване преобразува базовия клас в производния клас. Може да се наложи да извършим преобразуването на различни други типове данни, за да използваме помощта на помощния клас. Помощни класове като „Parse“ и „ConvertTo“ предлага различни начини за преобразуване на един тип данни в друг.
Научихме и за изключението, което компилаторът ще изхвърли, когато не разбира преобразуването между два типа.
=> Потърсете тук лесното ръководство за обучение на C #
Препоръчително четене
- Типове данни C # и променливи с примери
- Типове данни на C ++
- Преобразувания на тип в C ++
- Извличане на данни: процес, техники и основни проблеми при анализа на данни
- Data Mart Урок - Видове, примери и изпълнение на Data Mart
- Видове тестове за миграция: С тестови сценарии за всеки тип
- 10+ най-добри инструменти за събиране на данни със стратегии за събиране на данни
- Функция на пула от данни в IBM Rational Quality Manager за управление на тестови данни