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()}";
如上,这样就很方便,帅气了!那么变量和索引可以混用吗?当然也是可以的,如下:
var name = "张三"; var age = 23; var sex = "男"; var show = string.Format($"我是{name},今年{age},家住在{{0}}", sex); Console.WriteLine(show);
要注意的是需要用两次大括号
{{}}
将索引包含起来,也就是这样的形式,{{索引}}
。因为一次是输出表达式,两次就转义成普通的占位符了,这点一定要注意!
总结
到此这篇关于C# 中 “$” 符号的作用以及用法的文章就介绍到这了,更多相关C# $ 符号作用内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
相关文章
- 这篇文章主要介绍了C# 中 “$” 符号的作用以及用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
error LNK2019: 无法解析的外部符号 问题的解决办法
error LNK2019: 无法解析的外部符号 问题的解决办法,需要的朋友可以参考一下...2020-04-25- 这篇文章主要介绍了Java中正则表达式split()特殊符号使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-21
- 这篇文章主要介绍了C# byte转为有符号整数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-11
- 这篇文章主要介绍了Java解析xml文件遇到特殊符号&会出现异常的解决方案,实现思路很简单通过在读取xml文件使用SAX解析前读取reader,具体实现方法及示例代码跟随小编一起看看吧...2021-05-14
- 本文章来给大家介绍一下在php中 ->与 ==>符号的用法与区别,有需要了解的朋友可尝试参考。 “->”(减号、右尖括号) 用于类中,访问类里的函数或对象,比如:...2016-11-25
- <?php /** * 去除魔术变换 */ class killMagicQuote { public function Strip_Magic_Slashes($varImp) { $varImp = is_array...2016-11-25
php中$美元符号与Zen Coding冲突问题解决方法分享
Zen Coding插件就不多做介绍了。众所周知,安装了插件以后,输入$符号会被自动解析为相应的数字1、2、3...作为一名PHP程序员,想要通过其定义一些自己常用的代码。却发现展开以后悲剧的发现$符号全变成了数字。下面教你解...2014-05-31Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用详解
这篇文章主要介绍了Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19Perl中的符号 ->;、=>; 和 :: 分别表示什么意思?
这篇文章主要介绍了Perl中的符号 ->;、=>; 和 :: 分别表示什么意思,需要的朋友可以参考下...2020-06-29- 这篇文章主要给大家介绍了关于C++解析特殊符号tab、换行符号的相关资料,这个功能在我们日常开发中经常会遇到,需要的朋友可以参考下...2021-05-16
- 这篇文章主要介绍了mybatis的大于小于号转义符号一览,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-31
- C语言中有符号数和无符号数进行运算默认会将有符号数看成无符号数进行运算,其中算术运算默认返回无符号数,逻辑运算当然是返回0或1了。下面通过一个例子给大家分享C语言中无符号数和有符号数之间的运算,一起看看吧...2020-04-25
- 这篇文章主要介绍了Perl中的特殊符号介绍,需要的朋友可以参考下...2020-06-29
- 这篇文章主要介绍了Perl中常见符号与操作,需要的朋友可以参考下...2020-06-29
C++ Primer中&、*符号的多重定义与int *p和int* p的区别讲解
今天小编就为大家分享一篇关于C++Primer中&、*符号的多重定义与int *p和int* p的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-04-25- 这篇文章主要介绍了C语言中无符号与有符号及相加问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了解协议时有符号和无符号整数型处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
- 本篇文章适合新手。是对c语言中强符号与弱符号的使用进行了详细的分析介绍,需要的朋友参考下...2020-04-25
- 这篇文章主要介绍了详解python数组中的符号...与:符号的不同之处,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-15