CSharp(五) 读取用户输入与输出
输入和输出的几种用法
控制台输出
Write/WriteLine
// 输出后不换行
Console.Write("Hello");
// 输出后换行
Console.WriteLine("Hello World");
// 输出变量
int age = 20;
Console.WriteLine(age); // 20
Console.WriteLine("年龄: " + age); // 年龄: 20
// 字符串插值(推荐)
Console.WriteLine($"年龄: {age}"); // 年龄: 20
// 格式化输出
double pi = 3.14159;
Console.WriteLine("{0:F2}", pi); // 3.14
Console.WriteLine($"{pi:F2}"); // 3.14
| 符号 |
含义 |
示例 |
| C |
货币 |
123.45 → ¥123.45 |
| D |
整数(补零) |
5:D3 → 005 |
| F |
浮点数 |
3.14159:F2 → 3.14 |
| N |
千分位 |
1000000:N → 1,000,000.00 |
| P |
百分比 |
0.85:P → 85.00% |
| X |
十六进制 |
255:X → FF |
控制台输入
ReadLine — 读取一行字符串
Console.Write("请输入姓名: ");
string name = Console.ReadLine();
Console.WriteLine($"你好, {name}!");
Read — 读取一个字符(返回 ASCII 码值)
Console.Write("按任意键继续...");
int key = Console.Read(); // 返回 int 类型的 ASCII 码
char c = (char)key; // 转换为 char
ReadKey — 读取按键(不显示在控制台)
Console.WriteLine("按任意键退出...");
ConsoleKeyInfo keyInfo = Console.ReadKey(true); // true = 不显示按键
Console.WriteLine($"你按了: {keyInfo.Key}");
类型转换(输入处理)
Console.ReadLine() 返回的是字符串,需要转换为其他类型
// 方式1: Convert 类
Console.Write("请输入年龄: ");
int age = Convert.ToInt32(Console.ReadLine());
// 方式2: Parse
Console.Write("请输入价格: ");
double price = double.Parse(Console.ReadLine());
// 方式3: TryParse(安全,推荐)
Console.Write("请输入数量: ");
if (int.TryParse(Console.ReadLine(), out int quantity))
{
Console.WriteLine($"数量: {quantity}");
}
else
{
Console.WriteLine("输入无效!");
}
其他输入输出方式(了解就好)
| 方式 |
用途 |
示例 |
| Console.Clear() |
清空控制台 |
Console.Clear(); |
| Console.Beep() |
蜂鸣声 |
Console.Beep(); |
| Console.SetCursorPosition() |
设置光标位置 |
Console.SetCursorPosition(10, 5); |
| Console.ForegroundColor |
设置文字颜色 |
Console.ForegroundColor = ConsoleColor.Red; |
| Console.BackgroundColor |
设置背景颜色 |
Console.BackgroundColor = ConsoleColor.White; |
颜色输出示例
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("成功消息");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("错误消息");
Console.ResetColor(); // 恢复默认颜色
Console.WriteLine("普通消息");
练习
Console.WriteLine("===== 用户信息录入 =====");
Console.Write("请输入姓名: ");
string name = Console.ReadLine();
Console.Write("请输入年龄: ");
int age = int.Parse(Console.ReadLine());
Console.Write("请输入身高(米): ");
double height = double.Parse(Console.ReadLine());
Console.WriteLine();
Console.WriteLine("===== 录入结果 =====");
Console.WriteLine($"姓名: {name}");
Console.WriteLine($"年龄: {age} 岁");
Console.WriteLine($"身高: {height:F2} 米");
Console.WriteLine();
Console.Write("按任意键退出...");
Console.ReadKey(true);
总结
| 方法 |
功能 |
返回值 |
| Console.Write() |
输出,不换行 |
无 |
| Console.WriteLine() |
输出,换行 |
无 |
| Console.ReadLine() |
读取一行输入 |
string |
| Console.Read() |
读取一个字符 |
int (ASCII) |
| Console.ReadKey() |
读取按键信息 |
ConsoleKeyInfo |
最常用的组合是: Console.WriteLine() 输出 + Console.ReadLine() 读取 + Parse/TryParse 转换。
评论区