Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на C# для чайников


Администрация сайта www.easyprog.ru поздравляет Вас с Новым годом и сообщает о новых интересных статьях на сайте:

В платном разделе

В бесплатном разделе

Visual C# для чайников. Урок 5. Другие типы данных. Преобразование типов.

 

Продолжим изучение типов переменных. Следующий тип bool. Он имеет только два значения true и false. Раньше, в C и C++ программисты в качестве логического типа использовали int,  в котором истине (true) соответствовало значение 1, а false - 0. 

Для хранения одного единственного символа используют тип char. Она чем то схожа с byte, так как символ занимает в памяти только 1 байт. Но, в отличие от него, этой переменной мы присваиваем не число, а именно символ. Вот так:

char myVar='a';

 

Переменная типа char может хранить в себе любой символ, даже непечатный - тот, который не выводиться на экран, но обозначает какое нибудь действие, например, перевод строк, возврат каретки, табуляция. Таки символы обозначаются двумя значками '\' (косая черта) и код символа. Если надо обозначить косую четру, то она обозначается как '\\'. 

Вот таблица соответствия кодов спец. символов:

 

'\n' Новая строка
'\t' Табуляция
'\0' Нулевой символ
'\r' Возврат каретки

 

В отличии от char тип string может в себе хранить не один, а несколько символов. И, когда мы используем char, мы заключаем его в одинарные кавычик, а string  двойные. 

Два строковых значения можно сложить, при этом они соединяются. А вот если вы попытаетесь сложить два значения char, то у вас просто суммируются коды этих символов, и результатом будет символ с новым кодом. Но вообще то данная операция бессмысленна, хотя компилятор  на такое и не ругнется. 

Мы можем попытаться присвоить переменной одного типа значение другого типа. В некоторых случаях такое прокатит, в некоторых нет. Это зависит от того, возможно ли в данном случае преобразовать тип. Например, мы можем присвоить переменной типа long тип int. А вот если попытаетесь сделать наоборот, компилятор ругнется и ничего не откомпилирует. Потому что long может хранить более большие числа, чем int, и при таком преобразовании данные могут быть потеряны. Но бывают случаи, когда мы точно значим, что в данной конкретной программе и в данном конвертном месте в  переменной типа long храниться число, помещающееся в int. И нам надо выполнить присваивание. Как быть? Очень просто. Использовать явное преобразование типа:

long  lvalue = 10;

int nValue;

nValue = (int) lvalue ;

 

Однако данный номер проходит не со всеми преобразованиями типов. Вот такое компилятор сделать не позволит:

int a;

string b;

b = (string)a;

 

тут надо использовать специальные функции, о коих речь пойдет в будущих уроках. Но одну из этих функций мы уже разобрали на уроке 4

 

 

 

(С) Шуравин Александр

 


В избранное