1、Console类
C# Console
类主要用于控制台应用程序的输入和输岀操作。
常用方法如下:
方法 | 描述 |
Console.Write() | 向控制台输出内容后不换行 |
Console.WriteLine() | 向控制台输出内容后换行 |
Console.Read() | 从控制台上读取一个字符 |
Console.ReadLine() | 从控制台上读取一行字符 |
2、使用获取用户输入和输出信息
Console.Write()
和Console.WriteLine()
用于输出(打印)值的方法。用于 Console.Read()
和Console.ReadLine()
获取用户输入。
Console.Read()
和Console.ReadLine()
方法返回一个string
。即使用户输入数字,也直接返回的是字符串。例如,
//int age = Console.ReadLine();这样写会报错 string age= Console.ReadLine();//正确写法 Console.WriteLine("请输入name:"); string name = Console.ReadLine(); Console.WriteLine("请输入school :"); string school = Console.ReadLine(); Console.WriteLine("{0}=>>{1}", name, school);
注意:在格式化字符串中使用{索引号}的形式,索引号从 0
开始。输出项 1
填充 {0}
位置的内容,依此类推。
3、使用示例
使用 Console.ReadLine()
从控制台获取用户输入。返回的值是一个字符串,可以根据需要将它转换为其他数据类型(例如整数、浮点数等)。使用 Console.WriteLine()
向控制台输出信息。在获取数字时,可以使用 int.TryParse()
方法来确保输入是一个有效的整数,并进行错误处理。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void Main(string[] args) { // 输出信息提示用户输入 Console.WriteLine("请输入你的名字:"); // 获取用户输入 string userName = Console.ReadLine(); // 输出用户输入的内容 Console.WriteLine("你好, " + userName + "!"); // 输出提示信息,要求用户输入一个数字 Console.WriteLine("请输入一个数字:"); // 获取用户输入的数字并将其转换为整数 string input = Console.ReadLine(); int number; if (int.TryParse(input, out number)) { Console.WriteLine("你输入的数字是: " + number); } else { Console.WriteLine("无效的数字!"); } } } }
4、设置文本颜色
可以通过 Console.ForegroundColor
来设置文本的前景色(文字颜色),以及通过 Console.BackgroundColor
设置背景色。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void Main(string[] args) { // 设置前景色为绿色 Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("这是一行绿色的文字。"); // 设置背景色为黑色,前景色为白色 Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("背景是黑色,文字是白色。"); // 重置为默认颜色 Console.ResetColor(); Console.WriteLine("颜色已重置为默认。"); } } }
5、使用不同的输出格式
除了颜色,还可以使用字符串格式化来设置输出样式。比如,可以在输出时调整文本对齐、数字格式、日期格式等。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void Main(string[] args) { // 使用格式化字符串 string name = "Alice"; int age = 30; decimal balance = 12345.67M; // 格式化输出 Console.WriteLine("姓名: {0}, 年龄: {1}, 账户余额: {2:C}", name, age, balance); } } }
6、设置输出的宽度和对齐
可以使用 PadLeft
或 PadRight
方法来设置文本的对齐和宽度,或者在 WriteLine
中直接指定宽度。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void Main(string[] args) { // 使用 PadLeft 来填充空白,使文本右对齐 Console.WriteLine("右对齐:" + "123".PadLeft(10)); // " 123" // 使用 PadRight 来填充空白,使文本左对齐 Console.WriteLine("左对齐:" + "123".PadRight(10)); // "123 " // 使用格式化输出控制对齐 Console.WriteLine("{0,-10} {1,5}", "Name", "Age"); // 左对齐Name,右对齐Age Console.WriteLine("{0,-10} {1,5}", "Alice", 30); // 输出: Alice 30 } } }
7、设置控制台窗口大小和光标位置
还可以设置控制台窗口的大小以及光标的位置,适用于一些特定场景,比如动态更新界面。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void Main(string[] args) { // 设置控制台窗口的宽度和高度 Console.SetWindowSize(100, 30); // 设置光标位置 // 设置光标到指定位置 Console.SetCursorPosition(10, 5); Console.WriteLine("光标已移动到 (10, 5) 位置"); // 暂停,查看效果 Console.ReadKey(); } } }
8、处理多行输出和格式化
在复杂的输出中,使用多行和适当的格式化有助于输出内容的易读性。如在表格或多列数据的输出中,可以结合 string.Format
或直接使用占位符进行布局。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void Main(string[] args) { // 输出表头 Console.WriteLine("{0,-10} {1,-10} {2,10}", "Name", "Age", "Salary"); Console.WriteLine( "----------------------------------------"); // 输出数据 Console.WriteLine("{0,-10} {1,-10} {2,10:C}", "Alice", 30, 50000); Console.WriteLine("{0,-10} {1,-10} {2,10:C}", "Bob", 40, 60000); Console.WriteLine("{0,-10} {1,-10} {2,10:C}", "Charlie", 35, 70000); } } }