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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Этот метод закрывает считывающий поток и освобождает его ресурсы.

В классе TextWriter определены также варианты методов Write () и WriteLine (), предназначенные для вывода данных всех встроенных типов. Ниже в качестве примера перечислены лишь некоторые из перегружаемых вариантов этих методов.

virtual void Close() virtual void Flush()

Метод Flush () организует вывод в физическую среду всех данных, оставшихся в выходном буфере. А метод Close () закрывает записывающий поток и освобождает его ресурсы.

Классы TextReader и TextWriter реализуются несколькими классами символьных потоков, включая и те, что перечислены ниже. Следовательно, в этих классах потоков предоставляются методы и свойства, определенные в классах TextReader и TextWriter.

Двоичные потоки

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

А теперь, когда представлена общая структура системы ввода-вывода в С#, отведем оставшуюся часть этой главы более подробному рассмотрению различных частей данной системы, начиная с консольного ввода-вывода.

Консольный ввод-вывод

Консольньгй ввод-вывод осуществляется с помощью стандартных потоков, представленных свойствами Console. In, Console. Out и Console. Error. Примеры консольного ввода-вывода были представлены еще в главе 2, поэтому он должен быть вам уже знаком. Как будет показано ниже, он обладает и рядом других дополнительных возможностей.

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

Чтение данных из потока ввода с консоли

Поток Console. In является экземпляром объекта класса TextReader, и поэтому для доступа к нему могут быть использованы методы и свойства, определенные в классе TextReader. Но для этой цели чаще все же используются методы, предоставляемые классом Console, в котором автоматически организуется чтение данных из потока Console. In. В классе Console определены три метода ввода. Два первых метода, Read ( ) и ReadLine (), были доступны еще в версии .NET Framework 1.0. А третий метод, ReadKey (), был добавлен в версию 2.0 этой среды.

Для чтения одного символа служит приведенный ниже метод Read ().

static int Read()

Метод Read () возвращает очередной символ, считанный с консоли. Он ожидает до тех пор, пока пользователь не нажмет клавишу, а затем возвращает результат. Возвращаемый символ относится к типу int и поэтому должен быть приведен к типу char. Если при вводе возникает ошибка, то метод Read () возвращает значение -1. Этот метод сгенерирует исключение IOException при неудачном исходе операции ввода. Ввод с консоли с помощью метода Read () буферизуется построчно, поэтому пользователь должен нажать клавишу , прежде чем программа получит любой символ, введенный с консоли.

Ниже приведен пример программы, в которой метод Read () используется для считывания символа, введенного с клавиатуры.

// Считать символ, введенный с клавиатуры.

using System;

class КЫп {

static void Main() { char ch;

Console.Write("Нажмите клавишу, а затем — : ");

ch = (char) Console.Read(); // получить значение типа char Console.WriteLine("Вы нажали клавишу: " + ch) ;

}

}

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

Нажмите клавишу, а затем — : t Вы нажали клавишу: t

Необходимость буферизировать построчно ввод, осуществля^емый с консоли посредством метода Read () , иногда может быть досадным препятствием. Ведь при нажатии клавиши в поток ввода передается последовательность символов перевода каретки и перевода строки. Более того, эти символы остаются во входном буфере до тех пор, пока они не будут считаны. Следовательно, в некоторых приложениях приходится удалять эти символы (путем их считывания), прежде чем приступать к следующей операции ввода. Впрочем, для чтения введенных с клавиатуры символов без построчной буферизации, можно воспользоваться рассматриваемым далее методом ReadKey () . Длд считывания строки символов служит приведенный ниже метод ReadLine ().

static string ReadLine()

Символы считываются методом ReadLine () до тех пор, пока пользователь не нажмет клавишу , а затем этот метод возвращает введенные символы в виде

объекта типа string. Кроме того, он сгенерирует исключение IOException при неудачном исходе операции ввода.

Ниже приведен пример программы, в которой демонстрируется чтение строки из потока Console . In с помощью метода ReadLine ().

// Ввод с консоли с помощью метода ReadLine().

using System;

class ReadString { static void Main() { string str;

Console.WriteLine("Введите несколько символов."); str = Console.ReadLine();

Console.WriteLine("Вы ввели: " + str);

}

}

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

Введите несколько символов.

Это просто тест.

Вы ввели: Это просто тест.

Итак, для чтения данных из потока Console. In проще всего воспользоваться методами класса Console. Но для этой цели можно обратиться и к методам базового класса TextReader. В качестве примера ниже приведен переделанный вариант предыдущего примера программы, в котором используется метод Rea.dLine () , определенный в классе TextReader.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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