devoid.com.ua - Портал программистов. Все для программиста.
         Новости  Статьи  FAQ  Файлы  Ответы  Блог  Форум     
Статьи
C# (C sharp)
 Начинающим
 Win Forms
 Среда .NET
 C# - научиться или умереть
C / Visual C++
 Основы языка
C++Builder
 Общие вопросы
 Базы данных
 Сеть
Pascal/Delphi
 Основы
 Базы Данных
 Сеть
PHP
 Основы языка
ASP.NET
 Введение
 ADO.NET
Базы данных
 MS SQL Server
 MySQL
 Firebird/InterBase
Описания функций
 WinAPI
 C++/C (Си)
Студентам
 Лабораторные работы по C++


1.3 Ввод данных в консоль C# (Csharp)


C# - научиться или умереть

1.3 Ввод данных в консоль C# (Csharp)

  После того долгого знакомства с переменными, этот урок может показаться быстрым и легким. Ну, в общем, ReadLine() - это еще один способ присвоить переменной значение. Смотрим:
Console.Write("Введите имя и нажмите Enter: ");
string name = Console.ReadLine();
Console.WriteLine("Привет, " + name + "!")
  Фух! Миссия завершена! За три строки кода, мы запросили ввод, сохранили его и использовали. Вовсе не обязательно писать метод Write() перед ReadLine(), просто обычно надо каким-либо образом сказать пользователю, какой тип ввода мы ожидаем. Это просто вежливо.
  Наверное, единственное затруднение - это то, что ReadLine() всегда возвращает данные строкового типа. Чтобы получить числа, надо опять же использовать методы класса Convert:
Console.Write("Введите свой возраст и нажмите Enter: ");
int age = Convert.ToInt32( Console.ReadLine() );
Console.Write("Введите свой рост и нажмите Enter (можно использовать дроби):");
double height = Convert.ToDouble( Console.ReadLine() );
Console.WriteLine("Значицца, вам {0} лет, а рост {1}.", age, height);
  Надо запомнить, что без подобающего управления ошибками, программа будет выдавать ошибку каждый раз, когда мы будем пытаться конвертировать "пингвин"-а в число.
  А что же с ReadLine() , который мы до сих пор ставили в конце каждой программы? Мы просто использовали преимущества системы ввода С#. Когда мы использовали ReadLine() в конце программы, мы заставляли С# терпеливо ждать, пока пользователь завершит ввод и нажмет ENTER. Когда ENTER нажат, программа собирает всю информацию, что ввел пользователь и ... ничего с ней не делает, потому что мы не присваиваем значение никакой переменной. Поэтому С# остается только пожать плечами, забыть все, что ввел пользователь и продолжить работу. Ну разве не грех не использовать такую возможность?

  В любом случае, ввод пользователя один из самых коварных аспектов программирования. Невозможно перечислить количество случаев, когда неожиданный ввод может привести программу к внезапному краху! Позже мы узнаем, как же все-таки управляться с глупостью некоторых пользователей, а пока надо запомнить: любая часть кода, которая зависит от внешних данных, будь то ввод с консоли, текстовый файл, или сетевой накопитель - это потенциальная опасность краха и с ней надо обращаться с должной осторожностью. Ну, что ж, самое время для примера кода:
using System;

namespace C_ConsoleInput
{
  class Class1
  {
    [STAThread]
    static void Main(string[] args)
    {
      // Запросить имя пользователя
      Console.Write("Введите имя и нажмите Enter: ");

      // Прочесть данные; присвоить значение переменной "name"
      string name = Console.ReadLine();

      // "name" можно использовать как обычную переменную
      Console.WriteLine("Hello, " + name + "!");

      // Сделаем это снова, только теперь запросим тип пиццы
      Console.Write("Введите название пиццы и нажмите Enter: ");
      string pizza = Console.ReadLine();

      // А теперь используем обе переменные
      Console.WriteLine("Привет, {0}! Одна {1} пицца на подходе!", name, pizza);

      // Используем ReadLine() с численными типами
      Console.Write("Введите свой возраст и нажмите Enter: ");
      int age = Convert.ToInt32( Console.ReadLine() );
      Console.Write("Введите свой рост и нажмите Enter (можно использовать дроби): ");
      double height = Convert.ToDouble( Console.ReadLine() );
      Console.WriteLine("Значицца, вам {0} лет, а рост {1}.", age, height);

      // А теперь попросим пользователя нажать "Enter" для выхода из программы
      Console.Write("Программа завершена. Нажмите \"Enter\" для выхода...");
      Console.ReadLine();
    }
  }
}


  Версия для печати

Информация о статье: "1.3 Ввод данных в консоль C# (Csharp)"
  Автор: DrAcid
  Сайт:http://devoid.com.ua/
  Добавлена:12 апреля 2008
  Просмотров:2060



Не нашли ответ на свой вопрос? Задайте вопрос своим коллегам и они Вам ответят!

Задать вопрос

Популярные
   - 1.4 Math в C# (CSharp)
   - 1.2 Переменные в C# (Csharp)
   - 1.1 Вывод в консоль с использованием C# (Csharp)
   - 1.5 Манипуляции строками


Блог
Купил ноутбук ASUS F3Sg-T575SCCFAW
Начал использовать Zend Framework. Доволен.
Купил цифровой фотоаппарат - Canon PowerShot A580
Получил начальный аттестат Web Money
C# - запуск только одной копии программы

Форум
Ряд Фибоначчи
Работа с компонентами ScrollBar и TextBox
COM порт
!!!В САНКТ-ПЕТЕРБУРГ В КРУПНУЮ КОМПАНИЮ НУЖНЫ СПЕЦИАЛИСТЫ ДЛ
решение задач аналитической геометрии на языке С



© Макагон Сергей (DeVoid) , 2007-2008.