C# 基础:输入输出核心技巧完全指南
C# 基础:输入输出核心技巧完全指南
本指南带你掌握 C# 核心输入输出技术,学会可靠地读取用户数据并显示结果。
C# 输出
向控制台写入数据,C# 提供两个主要方法:
System.Console.WriteLine()
System.Console.Write()
其中 System 是命名空间,Console 是该命名空间下的类,WriteLine 和 Write 是其方法。
示例 1:使用 WriteLine() 打印字符串
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
Console.WriteLine("C# is cool");
}
}
}
运行结果:
C# is cool
WriteLine() 与 Write() 的区别
WriteLine() 输出文本后换行,而 Write() 输出文本不换行。
示例 2:WriteLine() 与 Write() 对比
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
Console.WriteLine("Prints on ");
Console.WriteLine("New line");
Console.Write("Prints on ");
Console.Write("Same line");
}
}
}
输出:
Prints on New line Prints on Same line
打印变量与字面量
WriteLine() 和 Write() 都可直接显示变量和字面量。
示例 3:变量与字面量输出
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
int value = 10; // 变量
Console.WriteLine(value);
Console.WriteLine(50.05); // 字面量
}
}
}
结果:
10 50.05
使用 + 运算符拼接字符串
输出时可用 + 运算符连接字符串。
示例 4:拼接输出
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
int val = 55;
Console.WriteLine("Hello " + "World");
Console.WriteLine("Value = " + val);
}
}
}
结果:
Hello World Value = 55
格式化字符串 —— 更优雅的方式
格式化字符串允许嵌入占位符,运行时替换,提升可读性并减少错误。
例如,不写:
Console.WriteLine("Value = " + val);
而改用:
Console.WriteLine("Value = {0}", val);
此处 {0} 是 val 的占位符。多个变量可用更多占位符。
示例 5:字符串格式化
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
int firstNumber = 5, secondNumber = 10, result;
result = firstNumber + secondNumber;
Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
}
}
}
输出:
5 + 10 = 15
此法比手动拼接更清晰、不易出错。详见 C# 字符串格式化。
C# 输入
获取用户输入最直接的方法是 Console.ReadLine()。若需更细粒度输入,也可用 Read() 和 ReadKey()。
示例 6:读取用户输入的字符串
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
string testString;
Console.Write("Enter a string - ");
testString = Console.ReadLine();
Console.WriteLine("You entered '{0}'", testString);
}
}
}
输出:
Enter a string - Hello World You entered 'Hello World'
理解 ReadLine()、Read() 与 ReadKey()
- ReadLine():读取整行输入,返回字符串。
- Read():读取下一个字符,返回其 ASCII 值。
- ReadKey():捕获按键,无需按回车;常用于“按任意键继续”提示。
更多细节见 StackOverflow 讨论 “Difference between Console.Read() and Console.ReadLine?”。
示例 7:演示 Read() 与 ReadKey()
using System;
namespace Sample {
class Test {
public static void Main(string[] args) {
int userInput;
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
Console.WriteLine();
Console.Write("Input using Read() - ");
userInput = Console.Read();
Console.WriteLine("Ascii Value = {0}", userInput);
}
}
}
输出:
Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76
ReadKey() 即时显示按键,而 Read() 读取整行但仅返回首字符 ASCII 码(此处 76 对应 'L')。
读取数值类型
字符串可直接读取,数值类型需转换。Convert 类提供简便方法。
示例 8:将用户输入转为数值
using System;
namespace UserInput {
class MyClass {
public static void Main(string[] args) {
string userInput;
int intVal;
double doubleVal;
Console.Write("Enter integer value: ");
userInput = Console.ReadLine();
intVal = Convert.ToInt32(userInput);
Console.WriteLine("You entered {0}", intVal);
Console.Write("Enter double value: ");
userInput = Console.ReadLine();
doubleVal = Convert.ToDouble(userInput);
Console.WriteLine("You entered {0}", doubleVal);
}
}
}
结果:
Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412
Convert.ToInt32() 和 ToDouble() 将输入字符串转为目标数值类型。完整转换方法列表见 .NET 文档。
更多数值输入策略参考 从用户输入读取整数。
C语言
- 树莓派与 Python 构建远程温度传感器:分步实战指南
- 树莓派用 MCP3008 读取模拟传感器:接线、SPI 配置与 Python 示例
- Nucleus SE邮箱:配置与使用实战指南
- Nucleus SE信号量:概览、配置与API要点
- Nucleus SE队列:介绍与核心服务调用
- 拓展云疆界:新可用区、容器与多云策略
- Cloud Linux如何提升共享主机的安全性、稳定性与性能
- 掌握 C++ 输入输出:cin/cou 完整实战指南
- C 语言输入输出(I/O)精通:scanf() 与 printf() 详解
- C++ 流精通:cout、cin、cerr、clog 实战指南
- 精通Python输入输出与模块导入:实战指南
- 精通 Java 输入输出:打印、读取与格式化数据