Герберт Шилдт - C# 4.0 - полное руководство

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 - полное руководство» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва -- Киев, Год выпуска: 2011, ISBN: 2011, Издательство: ООО И.Д. Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0: полное руководство: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0: полное руководство»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0: полное руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Если приведение типов приводит к сужающему преобразованию, то часть информации может быть потеряна. Например, в результате приведения типа long к типу int часть информации потеряется, если значение типа long окажется больше диапазона представления чисел для типа int, поскольку старшие разряды этого числового значения отбрасываются. Когда же значение с плавающей точкой приводится к целочисленному, то в результате усечения теряется дробная часть этого числового значения. Так, если присвоить значение 1,23 целочисленной переменной, то в результате в ней останется лишь целая часть исходного числа (1), а дробная его часть (0,23) будет потеряна.

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

// Продемонстрировать приведение типов.

using System;

class CastDemo {

static void Main() {

double x, y;

byte b;

int i;

char ch;

uint u;

short s;

long l;

x = 10.0;

y = 3.0;

// Приведение типа double к типу int, дробная часть числа теряется,

i = (int)(x / y) ;

Console.WriteLine("Целочисленный результат деления х / у: " + i) ;

Console.WriteLine();

// Приведение типа int к типу byte без потери данных,

i = 255;

b = (byte)i;

Console.WriteLine("b после присваивания 255: " + b + " -- без потери данных.");

// Приведение типа int к типу byte с потерей данных,

i = 257;

b = (byte)i;

Console.WriteLine("b после присваивания 257: " + b + " — с потерей данных.");

Console.WriteLine();

// Приведение типа uint к типу short без потери данных,

u = 32000;

s = (short) u;

Console.WriteLine("s после присваивания 32000: " + s + " — без потери данных.");

// Приведение типа uint к типу short с потерей данных,

u = 64000;

s = (short)u;

Console.WriteLine("s после присваивания 64000: " + s + " — с потерей данных. ") ;

Console.WriteLine();

// Приведение типа long к типу uint без потери данных.

l = 64000;

u = (uint)l;

Console.WriteLine("и после присваивания 64000: " + u + " -- без потери данных.");

// Приведение типа long к типу uint с потерей данных.

l = -12;

u = (uint)1;

Console.WriteLine("и после присваивания -12: " + u + " — с потерей данных.");

Console.WriteLine();

// Приведение типа int к типу char,

b = 88; // код ASCII символа X

ch = (char) b;

Console.WriteLine("ch после присваивания 88: " + ch);

}

}

Вот какой результат дает выполнение этой программы.

Целочисленный результат деления х / у: 3

b после присваивания 255: 255 -- без потери данных.

b после присваивания 257: 1 — с потерей данных.i

s после присваивания 32000: 32000 -- без потери данных,

s после присваивания 64000: -1536 -- с потерей данных.

u после-присваивания 64000: 64000 — без потери данных,

u после присваивания -12: 4294967284 -- с потерей данных.

ch после присваивания 88: X

Рассмотрим каждую операцию присваивания в представленном выше примере программы по отдельности. Вследствие приведения результата деления х/у к типу int отбрасывается дробная часть числа, а следовательно, теряется часть информации.

Когда переменной b присваивается значение 255, то информация не теряется, поскольку это значение входит в диапазон представления чисел для типа byte. Но когда переменной b присваивается значение 257, то часть информации теряется, поскольку это значение превышает диапазон представления чисел для типа byte. Приведение типов требуется в обоих случаях, поскольку неявное преобразование типа int в тип byte невозможно.

Когда переменной s типа short присваивается значение 32 000 переменной и типа uint, потери данных не происходит, поскольку это значение входит в диапазон представления чисел для типа short. Но в следующей операции присваивания переменная и имеет значение 64 000, которое оказывается вне диапазона представления чисел для типа short, и поэтому данные теряются. Приведение типов требуется в обоих случаях, поскольку неявное преобразование типа uint в тип short невозможно.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0: полное руководство»

Представляем Вашему вниманию похожие книги на «C# 4.0: полное руководство» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0: полное руководство»

Обсуждение, отзывы о книге «C# 4.0: полное руководство» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x