.net的字符串插值,格式化字符串

之前一直用老版本的.net,那时候基本都是string.Format(),最近用了下新版本的还有dotnet core2.0

发现有了种新的插值方法,或者叫格式化方法。就是用$"..."的方式实现直接插值的方法,这样就不用老formatter,而且更直观。

我举个例子 

            string who = "I";
            string where = "in the office";
            DateTime when = DateTime.Now;
            string things = "write code";

            Console.WriteLine($"{who} {things} {where} at {when:yyyy-MM-dd} {(when.Hour > 12 ? "pm" : "am")}");

输出为: I write code in the office at 2018-05-28 am

这种方式可以在字符串中带入变量,并且可以格式化,还可以进行简单的表达式。

这三种具体的实现方式,首先要在字符串头加$

1.如果直接填入变量的花需要一个大括号{varName} 里面直接写上变量名

2.如果要格式化一个变量,就如DateTime,需要{varName:Formatter},在变量名后面加一个" : "冒号,后面写格式化的字符串

3.表达式,需要在{}中加个(),在()中写表达式,当然不一定三段表达式,加减乘除也可以,其他我还没有试。

注意 如果要在$插值字符串中写"{"或"}"的话,需要写成"{{"或"}}"。

 

下面是官方文档,这个更全一些:

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/tokens/interpolated

其实官方的更好,我是一开始找半天这个文档,不知道叫插值表达式,一直没找到,所以写篇文章记录下,也避免走弯路。

 

转载于:https://www.cnblogs.com/stupidanimal/p/9098680.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值