您的位置:

C#格式化输出详解

一、基础概念

C#格式化输出是指通过一定的格式将数据以可读性良好的方式输出到控制台或其他输出设备上。在C#中,格式化输出是通过字符串插值、格式化字符串、控制台方法等方式实现。

二、字符串插值

字符串插值是C# 6.0引入的一种新特性,通过在字符串前添加"$"符号,并在字符串内部使用大括号包裹表达式,可以将变量的值直接嵌入到字符串中。

string name = "Tom";
int age = 18;
double height = 1.75;
Console.WriteLine($"My name is {name}, age is {age}, height is {height:F2}");

通过字符串插值,输出的结果为“My name is Tom, age is 18, height is 1.75”。

三、格式化字符串

格式化字符串是通过占位符(花括号中的数字)将变量的值嵌入到字符串中的一种方式。格式化字符串的语法如下:

String.Format(format, arg0, arg1, arg2...);

其中,format为格式化字符串,arg0、arg1、arg2为要嵌入的变量值。格式化字符串中的占位符以“{数字}”的形式出现。

string name = "Tom";
int age = 18;
double height = 1.75;
string info = String.Format("My name is {0}, age is {1}, height is {2:F2}", name, age, height);
Console.WriteLine(info);

通过格式化字符串,输出的结果和字符串插值的结果相同。

四、控制台方法

除了使用字符串插值和格式化字符串,C#还提供了控制台方法,可以通过不同的方法达到格式化输出的效果。

4.1、Console.Write方法

Console.Write方法可以将字符串输出到控制台上,不同的输出参数会影响输出效果。

string name = "Tom";
int age = 18;
double height = 1.75;
Console.Write("My name is {0}, age is {1}, height is {2:F2}", name, age, height);

通过Console.Write方法,输出的结果和格式化字符串的结果相同。

4.2、Console.WriteLine方法

与Console.Write方法相比,Console.WriteLine方法会在输出后自动换行。

string name = "Tom";
int age = 18;
double height = 1.75;
Console.WriteLine("My name is {0}, age is {1}, height is {2:F2}", name, age, height);

通过Console.WriteLine方法,输出的结果和格式化字符串的结果相同,但是输出的字符串会换行。

4.3、Console.Write(string, object[])方法

Console.Write(string, object[])方法可以通过传入一个对象数组,将数组中的值按顺序插入到字符串占位符中。

string name = "Tom";
int age = 18;
double height = 1.75;
Object[] objs = {name, age, height};
Console.Write("My name is {0}, age is {1}, height is {2:F2}", objs);

通过Console.Write(string, object[])方法,输出的结果和格式化字符串的结果相同。

4.4、Console.WriteLine(string, object[])方法

与Console.Write(string, object[])方法相比,Console.WriteLine(string, object[])方法会在输出后自动换行。

string name = "Tom";
int age = 18;
double height = 1.75;
Object[] objs = {name, age, height};
Console.WriteLine("My name is {0}, age is {1}, height is {2:F2}", objs);

通过Console.WriteLine(string, object[])方法,输出的结果和格式化字符串的结果相同,但是输出的字符串会换行。

总结

通过字符串插值、格式化字符串、控制台方法等方式,在C#中可以实现格式化输出。对于不同的场景和需求,我们可以灵活地选择适合的输出方式。掌握这些技巧是C#开发的基础知识之一。