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

.net的字符串插值,格式化字符串相关推荐

  1. python 格式化字符串_Python格式化字符串常用操作

    前言 字符串的格式化.以及增.删.改.查.并.分,无论写什么程序都是一个非常重要的操作,熟练的使用可以让程序变得整洁,对于输出结果的格式能很好的统一性. 0 1 格式化字符串 在python的2.x版 ...

  2. python 字符串 f_Python格式化字符串(f,F,format,%)

    # 格式化字符串: 在字符串前加上 f 或者 F 使用 {变量名} 的形式来使用变量名的值 year = 2020 event = 'Referendum' value = f'Results of ...

  3. [转载] python模板字符串和格式化字符串

    参考链接: 使用Python模板类格式化字符串 模板字符串:用string模块里的Template Template()里面把字符串中某个值用设置变量${key}的方式先写好,然后在substitut ...

  4. Python学习周记(字符串、格式化字符串、正则表达式)

    目录 一.字符串之字符串的相关操作 1.字符串的创建 2.字符串的拼接 3.计算字符串的长度 4.截取字符串 5.分隔字符串 6.去除字符串左右两边的某些字符 7.检索字符串 7.1查看字符串中某个字 ...

  5. linux括号转义字符串,C#格式化字符串中转义大括号“{}”

    转自:https://blog.csdn.net/weixin_30312659/article/details/98686107 原文:http://www.cnblogs.com/fsjohnhu ...

  6. Mysql截取字符串,格式化字符串

    left(str,length) 从左边开始截取,length为截取长度,小于等于0返回空字符串. right(str,length) 从右边开始截取,length为截取长度,小于等于0返回空字符串. ...

  7. [转载] 字符串太长 pep8_Python f字符串– PEP 498 –文字字符串插值

    参考链接: 从Java中的字符串中删除前导零 字符串太长 pep8 Python f-strings or formatted strings are the new way to format st ...

  8. 字符串太长 pep8_Python f字符串– PEP 498 –文字字符串插值

    字符串太长 pep8 Python f-strings or formatted strings are the new way to format strings. This feature was ...

  9. python学习总结7 - 输入与输出【格式化字符串及读写文件】

    文章目录 输入与输出 1.更复杂的输出格式 1.1 格式化字符串字面值(3.6版本加入) 1.2 字符串的format方法 1.3 手动格式化字符串 1.4 旧式字符串格式化方法 2.读写文件 2.1 ...

  10. Scala字符串插值

    一.简介 自2.10.0版本开始,Scala提供了一种新的机制来根据数据生成字符串:字符串插值.字符串插值允许使用者将变量引用直接插入处理过的字面字符中.如下例: val name="Jam ...

最新文章

  1. linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
  2. 宏基因组序列物种分类之kraken 1/2和Bracken的使用
  3. 【教程】超详细的虚拟无线控制器安装教程
  4. Google Maps API 代码
  5. threejs设置对象层次
  6. 信息学奥赛一本通(1255:迷宫问题)
  7. numpy.tile作用,语法,参数分析以及举例
  8. C/C++——求数组长度及反序
  9. 力扣-409 最长回文串
  10. sparse-to-dense.pytorch 代码主流程
  11. ubuntuv20启动界面美化_Win10 美化软件(简洁篇)
  12. P1563 [NOIP2016 提高组] 玩具谜题
  13. win10办公局域网共享文件夹方法
  14. AWS架构师认证有什么用?考试难吗?
  15. contiki-6lowpan开发环境之搭建
  16. 拉格朗日插值验证龙格现象python
  17. Java8 ConcurrentLinkedQueue和LinkedTransferQueue 源码解析
  18. php网站搬家怎么打包,搬家时打包衣柜的5种方法
  19. 2012-01-16
  20. Django 学习 之ORM多表操作

热门文章

  1. Ubuntu9.10安装常用软件
  2. leetcode 46 全排列
  3. 基于 DDD 设计并实现模块化单体应用
  4. android打开项目更换版本,android1.6项目,换成其他包的方法,及修改默认启动虚拟机的版本...
  5. mfc作为服务端,android作为客服端进行socket通讯,android在wifi下手机与电脑的socket通信...
  6. java不需要导的包
  7. 制表符补全位数在idea和eclipse中的区别
  8. 025_Tree树形控件
  9. 033_webpack打包ES6模块化工程
  10. java获取当前系统时间毫秒_java 获取当前系统时间简写 | 学步园