C#中“$”符号的作⽤以及⽤法详解
前⾔:$是c# 6.0 的语⾔特性,功能类似string.format(),更⽅便的地⽅在于不要像format⼀样使⽤索引,可以直接使⽤变量、表达式或者⽅法的执⾏。
⼀、C#中$的作⽤
谈及这个$,其实它是C#6.0语法中模板字符串的⼀种写法,什么是模版字符串?还记得你们⽤过的格式化字符串
吗?string.Format()这个⽅法,是最常⽤的⽅法之⼀。
那$⼜是什么呢?它是为了替代string.format()的,原先赋值需要占位符和变量,当需要拼接多个变量会造成语句过长等不易理解问题。
$是为了替代string.format(),可以把字符串中的C#变量{}包含起来达到识别C#变量的⽬的$"{id}";也⽀持表达式,使⽤$"{(你的表达式)}";或者⽅法的执⾏,使⽤$"{(⽅法)}"。
⼆、C#中$的⽤法
C# 中$符号的作⽤是C#6.0中新出现的⼀个特性,也即是字符串的拼接优化。
语法格式:$"string {参数}"
解释:以$符号开头开始字符串,其中以{}来进⾏传参,可以多个参数累加。
例如:var results = $"Hello {Name}";
三、关于$的⽰例讲解
var str = string.Format("我的名字叫{1},我今年{1}岁。", "张三", 23);
Console.WriteLine(str);
这是我们使⽤string.format()的写法,下来我们使⽤$改写⼀下。
var str = $"我的名字叫{"张三"},我今年{23}岁。";
Console.WriteLine(str);
通过上⾯这个案例,我们发现,现在使⽤$代码简洁,可读性强。
可能有些朋友觉得效果不太明显,那么请看下⾯这个案例:
var name = "张三";
var age = 23;
var sex = "男";
var message = string.Format("我叫{0},我的年龄为{1},我的性别是{2}", name, age, sex);
var show = $"我叫{name},我的年龄为{age},我的性别是{sex}";
Console.WriteLine(message);
Console.WriteLine(show);
如果还感受不到,那么请你试想⼀下:如果我们要操作的数据很多,假设它是⼀个多条的SQL语句,那么在长篇字符串中定位索引,那是不是很累啊!纵使你写对了索引(没写对还得⼀个个检查、修改),好不容易完⼯了。但下⼀个需求让你加两个参数,你的索引位置⼜得变,还得在万码丛中查你原来索引在哪⾥的,是不是很恶⼼?
哈哈,不⽤沮丧,此时C#6.0模版字符串就可以闪亮登场啦!
怎么⽤?总结⼀下,就是在字符串的双引号前⾯加⼀个 $ 符号,在需要使⽤变量的地⽅⽤{变量}就可以了。这个在我们上⾯的案例中,也有体现。
四、关于$的补充知识
正如我们上⾯所说,{变量}表⽰在字符串中输出变量的值,当然{}中间也可以是⼀个表达式或者⽅法的执⾏。
$"我的姓名是{GetName()}";
$"name的类型是{name.GetType()}";
如上,这样就很⽅便,帅⽓了!那么变量和索引可以混⽤吗?当然也是可以的,如下:
writeline方法的作用var name = "张三";
var age = 23;
var sex = "男";
var show = string.Format($"我是{name},今年{age},家住在{{0}}", sex);
Console.WriteLine(show);
要注意的是需要⽤两次⼤括号{{}}将索引包含起来,也就是这样的形式,{{索引}}。因为⼀次是输出表达式,两次就
转义成普通的占位符了,这点⼀定要注意!
总结
到此这篇关于C# 中 “$” 符号的作⽤以及⽤法的⽂章就介绍到这了,更多相关C# $ 符号作⽤内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论