在开发中经常需要对字符串进行格式化处理。我们一般使用String.Format()方法,它会将指定字符串中的每个格式项替换为相应对象的值的文本等效项。虽然这很普通,但有时会容易使人迷惑并造成错误。因为,我们需要为每一个格式化项指定占位符并将他们和实际的对象值对应起来。我们还要保证我们给每一个占位符都赋了对应的值。C#6.0中的String Interpolation使这字符串格式化变的大为简洁。使用String Interpolation,我们不再需要使用占位符,可以直接引用我们的值。

这里是一个使用String interpolation的简单例子。

string Value1 = "Value 1";
string Value2 = "Value 2"; // With String.Format
var stringValue1 = string.Format("{0}- {1}", Value1, Value2); // With String Interpolation
var stringValue2 = "\{Value1}-\{Value2}";

在上面的代码块中stringValue1和stringValue2返回同样的值,但String Interpolation使代码看起来更简单,也更不容易出错。当要格式化一个有大量属性值的字符串用来显示时,你可以简单的在对应的地方放对应的值,而不需要使用占位符。

C# 6.0:String Interpolation的更多相关文章

  1. C#中的String Interpolation

    本文迁移自Panda666原博客,原发布时间:2021年4月17日. 在英文中,$符号表示美元符号(United States dollar).这也是很多人喜欢的东西.甚至是一生最求的东西.但在编程语 ...

  2. Java中string.equalsIgnoreCase("0")与"0".equalsIgnoreCase(string)的区别:

    string.equalsIgnoreCase("0"):如果string为null,会抛出java.lang.NullPointerException异常. "0&qu ...

  3. 深入理解Java:String

    在讲解String之前,我们先了解一下Java的内存结构. 一.Java内存模型 按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配. JVM主要管理两 ...

  4. c++:string函数

    string类的构造函数:string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化此外,string类还支持 ...

  5. 原生JS:String对象详解

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  6. 【转】Java魔法堂:String.format详解

    Java魔法堂:String.format详解     目录     一.前言    二.重载方法     三.占位符     四.对字符.字符串进行格式化     五.对整数进行格式化     六. ...

  7. Java:String、StringBuffer和StringBuilder的区别

    1 String String:字符串常量,字符串长度不可变.Java中String是immutable(不可变)的. String类的包含如下定义: /** The value is used fo ...

  8. leetcode:String to Integer (atoi)

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  9. Java常用类:String

    一.介绍 String:不可变的Unicode字符序列     例如:"Java"   就是4个Unicode字符J,a,v,a组成的 Java没有内置的字符串类型,而是在标准的J ...

随机推荐

  1. docker学习笔记(2)

    docker镜像及容器常用命令 一.docker镜像 docker pull # docker pull nginx Using default tag: latest latest: Pulling ...

  2. (a ==1 && a== 2 && a==3) 有可能是 true 吗?

    工作之余逛知乎的时候看到一个有意思的讨论,(a ==1 && a== 2 && a==3) 有可能是 true 吗?啊?一个变量同时满足三个条件?扯呢? 当然是我太天真 ...

  3. python学习笔记——(二)循环

    ·密文输入引入getpass库使用getpass.getpass("password:")tips:该功能在PyCharm中不好使,只能在命令行用 ·python强制缩进,省略了大 ...

  4. javascript中的Date对象

    Date是什么? Date是日期类的构造函数 也是个对象,用于构造日期对象的实例. 有一个 now()方法,返回截止目前的时间戳(1970.1.1日始). Date.parse()接受 一定格式的日期 ...

  5. Asp.net MVC Form认证,IIS改成集成模式后,FormsAuthentication.SetAuthCookie无效,Request.IsAuthenticated值,始终为false,页面提示HTTP 错误 401.0 - Unauthorized,您无权查看此目录或页面

    最近公司领导要求,IIS网站要由经典模式改为集成模式,以提高性能.改完之后,登录成功跳转到主页之后,页面提示“”HTTP 错误 401.0 - Unauthorized“,“您无权查看此目录或页面”, ...

  6. Tomcat生成的session持久化到MySQL

    Telling Tomcat to save session records in MySQL 此部分内容摘自 MySQL cookbook 3th.具体内容不做翻译,哈哈,懒 The default ...

  7. spark学习笔记_1

    简单的讲,Apache Spark是一个快速且通用的集群计算系统. Apache Spark 历史: 2009年由加州伯克利大学的AMP实验室开发,并在2010年开源,13年时成长为Apache旗下大 ...

  8. Linux安装配置rabbitmq

    Step1:安装erlang 1)下载erlang wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x8 ...

  9. mysql 外键和子查询,视图

    1.mysql 外键约束 建表时生成外键   foreing key ('sid') references' student'('id'); 建表后添加外键  alter table' course ...

  10. windows下启动mysql服务

    当你无法连接你的mysql数据库时,或者因为某些原因导致与mysql数据库的连接丢失时,可通过以下方式启动mysql服务 1.命令行下启动mysql服务 以管理员身份运行cmd,进入mysql安装目录 ...