.NET6.0插值技术的前世今生

(一) C#6.0是一个很重要的版本,字符串插值技术算是新特性,来探究下:

string firstName = "Cai";
string lastName  = "Niao";
            
System.Console.WriteLine($"Your full name is:{firstName} {lastName}");

这里字符串字面值前附加$符号,使得一次性输出全部字符串,这个技术就是字符串的插值技术
不需要单独执行多个代码段并将结果整合成字符串,该技术允许一个步骤完成全部操作,从而增强了代码的可读性。
再来对比一下C#6.0以前怎么实现:

string firstName = "Cai";
string lastName = "Niao";

System.Console.WriteLine("Your full name is:{0} {1}",firstName,lastName);

这种方式叫作符合格式化,使用占位符来解决。

(二)那字符串的插值技术的内部工作原理又是什么呢?

字符串插值是调用string.Formart()方法的语法糖。上边的第一段程序会被换成以下形式:

string firstName = "Cai";
string lastName = "Niao";
object[] args = new object[] { firstName,lastName};
System.Console.WriteLine(string.Format("Your full name is:{0} {1}.",args));

这样类似复合字符串的实现很好的解决了本地化支持,不存在编译后代码注入的问题,一个很不错的技术。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值