Visual C# для чайников. Урок 5. Другие типы данных. Преобразование типов. |
Автор megabax | ||||||||||||
06.03.2011 г. | ||||||||||||
Visual C# для чайников. Урок 5. Другие типы данных. Преобразование типов.Продолжим изучение типов переменных. Следующий тип bool. Он имеет только два значения true и false. Раньше, в C и C++ программисты в качестве логического типа использовали int, в котором истине (true) соответствовало значение 1, а false - 0. Для хранения одного единственного символа используют тип char. Она чем то схожа с byte, так как символ занимает в памяти только 1 байт. Но, в отличие от него, этой переменной мы присваиваем не число, а именно символ. Вот так:
Переменная типа char может хранить в себе любой символ, даже непечатный - тот, который не выводиться на экран, но обозначает какое нибудь действие, например, перевод строк, возврат каретки, табуляция. Таки символы обозначаются двумя значками '\' (косая черта) и код символа. Если надо обозначить косую четру, то она обозначается как '\\'. Вот таблица соответствия кодов спец. символов:
В отличии от char тип string может в себе хранить не один, а несколько символов. И, когда мы используем char, мы заключаем его в одинарные кавычик, а string двойные. Два строковых значения можно сложить, при этом они соединяются. А вот если вы попытаетесь сложить два значения char, то у вас просто суммируются коды этих символов, и результатом будет символ с новым кодом. Но вообще то данная операция бессмысленна, хотя компилятор на такое и не ругнется. Мы можем попытаться присвоить переменной одного типа значение другого типа. В некоторых случаях такое прокатит, в некоторых нет. Это зависит от того, возможно ли в данном случае преобразовать тип. Например, мы можем присвоить переменной типа long тип int. А вот если попытаетесь сделать наоборот, компилятор ругнется и ничего не откомпилирует. Потому что long может хранить более большие числа, чем int, и при таком преобразовании данные могут быть потеряны. Но бывают случаи, когда мы точно значим, что в данной конкретной программе и в данном конвертном месте в переменной типа long храниться число, помещающееся в int. И нам надо выполнить присваивание. Как быть? Очень просто. Использовать явное преобразование типа:
Однако данный номер проходит не со всеми преобразованиями типов. Вот такое компилятор сделать не позволит:
тут надо использовать специальные функции, о коих речь пойдет в будущих уроках. Но одну из этих функций мы уже разобрали на уроке 4.
(С) Шуравин Александр
|
||||||||||||
Последнее обновление ( 07.11.2011 г. ) |