码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-05-28 11:43:44      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:zh-cn   string   off   pre   var   ring   ken   inter   tps   

之前一直用老版本的.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

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

 

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

标签:zh-cn   string   off   pre   var   ring   ken   inter   tps   

原文地址:https://www.cnblogs.com/stupidanimal/p/9098680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!