无意中看到这个$格式字符串,然后学习一下。$是C#6.0的新特性。
比如我们以前是这么做的,内插字符串。
var anInt = 1; var aBool = true; var aString = "3"; var formated = string.Format("{0},{1},{2}",anInt,aBool,aString);
//这是我们之前的格式化的做法
var formated = $"{anInt},{aBool},{aString}"; //用了$了之后。
我觉得$这个东西比string.Format好的地方就是, 当参数很多时候用$比较好点 比如string.Format("{0},{1},{3},{4}...{100}",p1,p2,p3,p4,...p100);如果用$了就很明显了。
看源码知道,$内插字符串主要实现是这样的:本质还是一个String.Format 之后再通过StringBuilderCache。最后再用StringBuilder拼接起来。