Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 44

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 38 39 40 41 42 43 < 44 > 45 46 47 48 49 50 .. 404 >> Следующая

82 Глава 5

и выберите опцию Properties. Откройте папку Configuration Properties в левой части окна; появится список из трех пунктов: Build, Debugging и Advanced. Свойство, которое нам требуется изменить, является одной нз установок компилятора, поэтому необходимо выбрать пункт Build. В расположенную вверху группу свойств (Code Generation) входит опция под названием Check for Arithmetic Overflow/Underflow (см. рис. слева). По умолчанию эта установка имеет значение false, однако при замене ее на true приложение будет работать В режиме checked, подробно описанном выше.

Способ явного преобразования, использовавшийся во многих предыдущих примерах, несколько отличается от того, с чем мы столкнулись в настоящей главе. Прежде мы осуществляли преобразования строковых значении в числа посредством таких команд, как Convert.ToDouble(), которые совершенно очевидно не смогут работать с любой строкой.

Если, например, попытаться преобразовать строку “Number" в число типа double С ПОМОЩЬЮ Convert .ToDouble (), то в процессе выполнения кода будет открыто диалоговое окно с сообщением:

“Необрабатываемая исключительная ситуация тнпа 'System.FormatException'

? mscoriib.dll. Дополнительная информация: Входная строка имеет неверный формат.” (см. рис. справа).

Как видите, операция ие выполнена. Для того чтобы подобный тип преобразования мог осуществиться, передаваемая строка должна быть допустимым представлением числа и это число не должно приводить к переполнению. Допустимым называется такое представление числа, которое содержит необязательный знак (плюс или минус), ноль или несколько цифр, необязательную десятичную точку, за которой следует одна нлн несколько цифр, а также необязательный символ 'е' илн ”Е', за которым следуют необязательный знак и одна или несколько цифр, н ничего более, кроме пробелов (располагающихся перед или после этой последовательности), Используя все эти дополнительные опции, мы можем распознавать строки тнпа -1.245е-24 как число.
Дополнительные сведения о переменных

83

Команда Результат
Convert.ToBoolean(val) val преобразовано в bool
Convert.ToByte(val) val преобразовано в byte
Convert.ToChar(val) val преобразовано в char
Convert,ToDecimal(val) val преобразовано в decimal
Convert.ToDouble(val) val преобразовано в double
Convert.ToIntl6(val) val преобразовано в short
Convert.ToInt3 2(val) val преобразовано в int
Convert.ToInt64(val) val преобразовано в long
Convert.ToSByte(val) val преобразовано в ebyte
Convert.ToSingle(val) val преобразовано в float
Convert.ToStr ing(val) val преобразовано в string
Convert.ToUInt16(val) val преобразовано a ushort
Convert.ToUInt32[val) val преобразовано a uint
Convert.ToUInt64(val) val преобразовано в ulong

Существует много явных преобразований, которые могут быть определены таким же образом (см. табл. слева).

Здесь val может быть переменной почти любого типа (а если она не может быть обработана данными командами, то компилятор выдаст соответствующее сообщение).

К сожалению, как можно заметить нз приведенной таблицы, имена команд преобразования несколько отличаются от названий типов, принятых в С#; например, для того чтобы произвести преобразование в тип int, следует использовать команду convert.Toint32о. Это объясняется тем, что имена в командах ВЗЯТЫ НЭ пространства имен System .NET Framework н не являются родными для С#. Зато благодаря этому их можно использовать из любых других языков, совместимых с .NET.

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

Рассмотрим пример, который охватывает многие типы преобразований, описанные в этом разделе.

Прантикум: использование преобразований типов

1. Создайте новое консольное приложение с именем ch05Ex0i в директории C:\BeaCSharp\chapterS.

2. Добавьте следующий код в cianei.es: static void Main(string П args)

< ^ short BhortResult, ehortVal * 4; int integerVal « *7»

long longRasult; -

float floatVal ¦ 10.SF; double doubleResult, doubleVal ¦ 99.999; string striogReeult, stringVal =¦ *17";

bool boolVal - true; ¦ '

Coi ola.WriteLine{'variable Conversion ExamplesNn') j doubleResult ¦ floatVal * ehortVal;

Console.WriteLine('Implicit, -> double; (0} * (IJ -> (2)*, floatVal, ehortVal, doubleResult);

shortResult « (short)floatVal; ' .

Console.WriteLine('Explicit, -> short; (0) -> (1)*, floatVal, shortResult);
84

Глава 5

etrir Result = Convert.Tostring(boolVal) + ,

, Convert.ToStrinsj(double il);

Console.WriteLine('Explicit, -> string: \*CQ)\* + Cl)\" -> 12>“,

boolVal, doubleVal, stringResult);

longHeeult = integerVal + Convert.Tolnt(i4(BtringVal) s Console.WriteLine ('Mixed, long; (0Г+ (1) -> ?2}', integerVal, stringVal, longReeult);

>

3. Запустите программу:

- ? Д BegL'Sbflrp\Chepttir,S\r h 1)5ЕнО 1 \bi tADefc ид\СЬ05ЕнО 1 e

Uai-i- j. It: iJi nit':'I' : j uii Its
Предыдущая << 1 .. 38 39 40 41 42 43 < 44 > 45 46 47 48 49 50 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.