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);
}
}
}