【C#基础详解】(四)占位符和转义符

4.1 占位符

4.1.1 占位符简介

当WriteLine() 函数有多个参数时,输出第一个参数(双引号内的)中的内容,而第二个及后面的参数中的内容替换掉第一个参数中对应位置的占位符一起输出。

使用方法:一个萝卜一个坑

注意:你挖了几个坑,就填几个坑,如果你多填了,没效果;如果你少填了,报异常。

输出顺序:按照挖坑的顺序输出。

代码示例:

static void Main(string[] args)
{
    Console.WriteLine("A:{0},a:{1}",65,97);
    Console.ReadLine();
}

输出结果:A:65,a:97

4.1.2$符号

1)$的作用

谈及这个$,其实它是C#6.0语法中模板字符串的一种写法,什么是模版字符串?还记得你们用过的格式化字符串吗?string.Format() 这个方法,是最常用的方法之一。

$是为了替代string.Format(),可以把字符串中的C#变量{}包含起来达到识别C#变量的目的$"{id}";也支持表达式,使用$"{(你的表达式)}";或者方法的执行,使用$"{(方法)}"。

2)$的用法

语法格式:$"string {参数}"

解释:以$符号开头开始字符串,其中以{}来进行传参,可以多个参数累加。

例如:var results = $"Hello {Name}";

3)$的示例

var str = string.Format("我的名字叫{1},我今年{1}岁。", "张三", 23);
Console.WriteLine(str);

使用string.format()的写法,下来我们使用$改写一下。

var str = $"我的名字叫{"张三"},我今年{23}岁。";
Console.WriteLine(str);

通过上面这个案例,可以发现,使用$代码简洁,可读性强。

string name = "张三";
int age = 23;
char sex = "男";
string s1= string.Format("我叫{0},我的年龄为{1},我的性别是{2}", name, age, sex);
string s2= $"我叫{name},我的年龄为{age},我的性别是{sex}";
Console.WriteLine(s1);
Console.WriteLine(s2);

综合举例:

//普通输出方式
string name = "帅哥";
int age = 18;
double high = 175.5;
char hobbit = '吃';
string job = "程序员";
// + 链接的作用
Console.WriteLine("你好,我是一个" + name + ",我今年" + age + "岁了,我"+ high + "cm高,我的爱好是" + hobbit + ",我的工作是" + job + "!");

//占位符的输出方式
//注意:一个萝卜一个坑,先挖坑,再填萝卜,挖好的坑不能大于萝卜数量,同一个萝卜可以重复使用
Console.WriteLine("你好,我是一个{0},我今年{1}岁了,我{2}cm高,我的爱好是{3},我的工作是{4}!", name, age, high, hobbit, job);
//输出方式:按照挖坑的顺序进行输出
Console.WriteLine("你好,我是一个{1},我今年{0}岁了,我{3}cm高,我的爱好是{2},我的工作是{4}!", name, age, high, hobbit, job);
Console.WriteLine("A={0},B={1},A+B={2}", 50, 20, 50 + 20);
//优点:减少输出时连接符+的使用,避免因为+少些、多写而产生的错误

//$的用法
//优点:代码简洁,可读性强
//语法格式:$"string{参数}",可以多个参数累加
Console.WriteLine($"你好,我是一个{name},我今年{age}岁了,我{high}cm高,我的爱好是{hobbit},我的工作是{job}!");

4.2 转义符

指的就是一个'\'+一个特殊的字符,组成了一个具有特殊含义的字符。

转义符

描述

\n

表示换行,在字符串中有效

\r\n

Windows操作系统不认识\n,只认识\r\n

\"

表示一个英文半角的双引号

\t

表示一个tab键的空格

\b

表示一个退格键,放在字符串的两边没有效果

\\

表示一个\

@符号:取消\在字符串中的转义作用,将字符串按照编辑的原格式输出。

@符号使用示例:

string c = "hello \t world"; //输出 hello world

string d = @"hello \t world"; //输出 hello \t world

//\n:(NewLine)表示换行,在字符串中有效 \r\n
Console.WriteLine("你好,我是\n一个帅哥");
//\\:表示\
Console.WriteLine("你好\\我不好");
//\":表示"
Console.WriteLine("你好,你长得好\"衰\"啊");
//\':表示'
Console.WriteLine("Hellw \'World\'");
//\t:(Tab):表示一个tab键的空格
Console.WriteLine("春眠不觉晓\t处处蚊子咬");
//\b:(BackSpace):表示一个退格键 特点:放在字符串两头(头部和尾部)是没有效果的
Console.WriteLine("你好,我是一个程序猿猿");
Console.WriteLine("\\我的电脑\\C:\\Program\\新建文件夹");
//@符号:取消\在字符串中的转义作用,将字符串按照编辑的原格式输出
Console.WriteLine(@"\\我的电脑\\C:\\Program\\新建文件夹");
Console.WriteLine(@"春眠不觉晓\t处处蚊子咬,你好,你好,我是\r\n一个帅哥");

猜你喜欢

转载自blog.csdn.net/Y1RV1NG/article/details/129539194
今日推荐