Input and Output

Input and output operations in C# are essential for interacting with users, reading data from external sources, and displaying information to the user. C# provides various classes and methods to handle input and output efficiently. Here are the key aspects of input and output in C#:

Console Input and Output:

 

  • The Console class provides methods for reading input from the user and writing output to the console.
  • WriteLine() is used to display output on the console.
  • ReadLine() is used to read a line of text input from the user.

Example:

Console.WriteLine(“Enter your name:”);

string name = Console.ReadLine();

Console.WriteLine(“Hello, ” + name + “!”);

// Output:

// Enter your name:

// John

// Hello, John!

  1. Formatted Output:

  • The Console.WriteLine() and Console.Write() methods support formatting options using composite formatting or format specifiers.
  • Composite formatting uses placeholders ({0}, {1}, etc.) in the output string and corresponding arguments.
  • Format specifiers (e.g., {0:N2}, {0:D4}) define specific formatting for numeric, date/time, and other types.

Example:

int age = 30;

double salary = 2500.50;

Console.WriteLine(“Age: {0}, Salary: {1:C}”, age, salary);

// Output:

// Age: 30, Salary: $2,500.50

  1. File Input and Output:

 

  • The System.IO namespace provides classes for reading from and writing to files.
  • The StreamReader class is used to read text from a file.
  • The StreamWriter class is used to write text to a file.

Example:

using (StreamWriter writer = new StreamWriter(“output.txt”))

{

    writer.WriteLine(“Hello, File Output!”);

}

using (StreamReader reader = new StreamReader(“input.txt”))

{

    string line = reader.ReadLine();

    Console.WriteLine(“File Input: ” + line);

}

  1. String Input and Output:

  • The string class provides methods for formatting and manipulating strings.
  • Format() is used for string formatting similar to Console.WriteLine().
  • Join() concatenates an array of strings into a single string using a delimiter.

Example:

string name = “John”;

int age = 30;

string formattedString = string.Format(“My name is {0} and I am {1} years old.”, name, age);

Console.WriteLine(formattedString);

string[] fruits = { “Apple”, “Banana”, “Orange” };

string joinedString = string.Join(“, “, fruits);

Console.WriteLine(“Fruits: ” + joinedString);

// Output:

// My name is John and I am 30 years old.

// Fruits: Apple, Banana, Orange

These are the fundamental techniques for handling input and output in C#. By utilizing these methods and classes, you can interact with users, process external data, and display information effectively. Additionally, C# offers various libraries and APIs for advanced input/output operations, such as working with databases, network communication, and graphical user interfaces.