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

Тут можно читать онлайн Герберт Шилдт - C# 4.0: полное руководство - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство ООО И.Д. Вильямс, год 2011. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# 4.0: полное руководство
  • Автор:
  • Жанр:
  • Издательство:
    ООО И.Д. Вильямс
  • Год:
    2011
  • Город:
    Москва -- Киев
  • ISBN:
    978-5-8459-1684-6
  • Рейтинг:
    3.93/5. Голосов: 141
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

C# 4.0: полное руководство - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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


Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок

C# 4.0: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

/* Использовать классы BinaryReader и BinaryWriter для

реализации простой программы учета товарных запасов. */

using System;

using System.IO;

class Inventory {

static void Main() {

BinaryWriter dataOut;

BinaryReader dataIn;

string item; // наименование предмета

int onhand; // имеющееся в наличии количество

double cost; // цена

try {

dataOut = new

BinaryWriter(new FileStream("inventory.dat", FileMode.Create));

}

catch(IOException exc) {

Console.WriteLine("He удается открыть файл " +

"товарных запасов для вывода");

Console.WriteLine("Причина: " + exc.Message);

return;

}

// Записать данные о товарных запасах в файл,

try {

dataOut.Write("Молотки");

dataOut.Write(10);

dataOut.Write(3.95);

dataOut.Write("Отвертки");

dataOut.Write(18);

dataOut.Write(1.50);

dataOut.Write("Плоскогубцы");

dataOut.Write(5);

dataOut.Write(4.95);

dataOut.Write("Пилы");

dataOut.Write(8);

dataOut.Write(8.95);

}

catch(IOException exc) {

Console.WriteLine("Ошибка записи в файл товарных запасов");

Console.WriteLine("Причина: " + exc.Message);

} finally {

dataOut.Close();

}

Console.WriteLine() ;

// А теперь открыть файл товарных запасов для чтения,

try {

dataIn = new

BinaryReader(new FileStream("inventory.dat", FileMode.Open));

}

catch(IOException exc) {

Console.WriteLine("He удается открыть файл " +

"товарных запасов для ввода");

Console.WriteLine("Причина: " + exc.Message); return;

}

// Найти предмет, введенный пользователем.

Console.Write("Введите наименование для поиска: ");

string what = Console.ReadLine() ;

Console.WriteLine();

try {

for (;;) {

// Читать данные о предмете хранения,

item = dataIn.ReadString();

onhand = dataIn.ReadInt32();

cost = dataIn.ReadDouble();

// Проверить, совпадает ли он с запрашиваемым предметом.

// Если совпадает, то отобразить сведения о нем.

if(item.Equals(what, StringComparison.OrdinalIgnoreCase)) {

Console.WriteLine(item + ": " + onhand + " штук в наличии. " +

"Цена: {0:С} за штуку", cost);

Console.WriteLine("Общая стоимость по наименованию <{0}>: {1:С}.",

item, cost * onhand);

break;

}

}

}

catch(EndOfStreamException) {

Console.WriteLine("Предмет не найден.");

}

catch(IOException exc) {

Console.WriteLine("Ошибка чтения из файла товарных запасов");

Console.WriteLine("Причина: " + exc.Message);

} finally {

dataIn.Close();

}

}

}

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

Введите наименование для поиска: Отвертки

Отвертки: 18 штук в наличии. Цена: $1.50 за штуку.

Общая стоимость по наименованию <���Отвертки>: $27.00.

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

Обратите также внимание на то, как в этой программе обнаруживается конец файла. Методы двоичного ввода генерируют исключение EndOfStreamExceptionпо достижении конца потока, и поэтому файл читается до тех пор, пока не будет найден искомый предмет или сгенерировано данное исключение. Таким образом, для обнаружения конца файла никакого специального механизма не требуется.

Файлы с произвольным доступом

В предыдущих примерах использовались последовательные файлы , т.е. файлы со строго линейным доступом, байт за байтом. Но доступ к содержимому файла может быть и произвольным. Для этого служит, в частности, метод Seek(), определенный в классе FileStream. Этот метод позволяет установить указатель положения в файле , или так называемый указатель файла , на любое место в файле. Ниже приведена общая форма метода Seek():

long Seek(long offset, SeekOrigin origin)

где offset обозначает новое положение указателя файла в байтах относительно заданного начала отсчета (origin). В качестве origin может быть указано одно из приведенных ниже значений, определяемых в перечислении SeekOrigin.

Значение - Описание

SeekOrigin.Begin- Поиск от начала файла

SeekOrigin.Current- Поиск от текущего положения

SeekOrigin.End- Поиск от конца файла

Следующая операция чтения или записи после вызова метода Seek()будет выполняться, начиная с нового положения в файле, возвращаемого этим методом. Если во время поиска в файле возникает ошибка, то генерируется исключение IOException. Если же запрос положения в файле не поддерживается базовым потоком, то генерируется исключение NotSupportedException. Кроме того, могут быть сгенерированы и другие исключения.

В приведенном ниже примере программы демонстрируется ввод-вывод в файл с произвольным доступом. Сначала в файл записываются прописные буквы английского алфавита, а затем его содержимое считывается обратно в произвольном порядке.

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

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0: полное руководство отзывы


Отзывы читателей о книге C# 4.0: полное руководство, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x