Читаем C# 4.0 полное руководство - 2011 полностью

Запоминающие потоки очень полезны для программирования. С их помощью можно, например, организовать сложный вывод с предварительным накоплением данных в массиве до тех пор, пока они не понадобятся. Этот прием особенно полезен для программирования в такой среде с графическим пользовательским интерфейсом, как Windows. Кроме того, стандартный поток может быть переадресован из массива. Это может пригодиться, например, для подачи тестовой информации в программу.

Применение классов StringReader и StringWriter

Длявыполнения операций ввода-вывода с запоминанием в некоторых приложениях в качестве базовой памяти иногда лучше использовать массив типаstring,чем массив типаbyte.Именно для таких случаев и предусмотрены классыStringReaderиStringWriter.В частности, классStringReaderнаследует от классаTextReader,а классStringWriter— от классаTextWriter.Следовательно, они представляют собой потоки, имеющие доступ к методам, определенным в этих двух базовых классах, что позволяет, например, вызывать методReadLine для объекта классаStringReader,а методWriteLine — для объекта классаStringWriter.

Ниже приведен конструктор классаStringReader:

StringReader(strings)

где s обозначает символьную строку, из которой производится чтение.

В классеStringWriterопределено несколько конструкторов. Ниже представлен один из наиболее часто используемых.

StringWriter

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

Ниже приведен пример, демонстрирующий применение классовStringReaderиStringWriter.

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

using System; using System.10;

class StrRdrWtrDemo { static void Main {

StringWriter strwtr = null;

StringReader strrdr = null;

try {

// Создать объект класса StringWriter. strwtr = new StringWriter;

// Вывести данные в записывающий поток типа StringWriter. for (int i=0; i < 10; i++)

strwtr.WriteLine("Значение i равно: " + i);

// Создать объект класса StringReader. strrdr = new StringReader(strwtr.ToString);

//А теперь ввести данные из считывающего потока типа StringReader. string str = strrdr.ReadLine; while(str != null) {

str = strrdr.ReadLine;

Console.WriteLine(str);

}

} catch(IOException exc) {

Console.WriteLine("Ошибка ввода-вывода\п" + exc.Message);

} finally {

// Освободить ресурсы считывающего и записывающего потоков, if(strrdr != null) strrdr.Close; if(strwtr != null) strwtr.Close ;

}

}

}

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

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных