2018-8-10-C#-6.0-字符串-String-Interpolation
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
C# 6.0 字符串 String Interpolation
|
lindexi
|
2018-08-10 19:16:52 +0800
|
2018-2-13 17:23:3 +0800
|
C#
|
本文主要:C# 6.0 新特性 String Interpolation,一些比较少知道的知识。
本文内容有:字符串新特性的一般使用、格式化字符串、保留小数点、判断字符串
原文发在csdn http://blog.csdn.net/lindexi_gd/article/details/49716741
本文做了一些修改。
"hello $world"的格式化字符串是指把字符串中一个单词,以一个标示开头。可以代换为单词所指的变量。
这个在jq有,而C#string的格式只能用格式的字符占位符,格式的字符占位符都是数字,这样多了很容易混,好多我都出现了,拷贝代码,然后没有排好数字,漏了一个数字,这样出现了错误。
string.Format("这里有很长字符串{0}{2}" , "Hello" , "csdn");
而看到一个大神实现了类似jQueryStringFormat的扩展string,觉得C#内置有一个方法:
var csdn = "csdn";
var result = $"Hello {csdn}";
Console.Write(result);
会输出
通过$开头字符串,中间{}作为变量名,可以把字符串代换为变量的字符。
这就是 C# 6.0 新特性: String Interpolation
但是 String Interpolation 如何输入一定长度的字符串?
我看到了堆栈炸有大神问了一个问题,刚好我在做的编码工具也遇到命令行输入的不好看,需要格式化,所以就去找下方法。
后来发现,可以在ToString放参数的,把参数写在:后就可以传进去。
static void Main(string[] args)
{
string csdn = "csdn";
double n = 1.1315;
string str = $"Hello {csdn} 新特性";
Console.WriteLine(str); str = $"Hello {csdn} 新特性 {n}";
Console.WriteLine(str); str = $"Hello {csdn} 新特性 {n:1.##}";
Console.WriteLine(str); //不生效
str = $"Hello {csdn:10} 新特性 {n:1.##}";
Console.WriteLine(str);
}
如果要指定一个字符串显示的长度,不够长度填充空格,使用,
str = $"Hello {csdn,10} 新特性 {n:1.##}";
Console.WriteLine(str);
关于字符串长度的使用,参见:https://msdn.microsoft.com/en-us/library/dn961160.aspx
可以看到上面的长度是添加在左边,如果要添加在右边?可以使用字符串函数
str = $"Hello {csdn.PadRight(10)} 新特性 {n:1.##}";
Console.WriteLine(str);
当然,可以在字符串使用判断。
str = $"Hello {(csdn =="csdn"?"csdn":"lindexi")} 新特性 {n:1.##}";
Console.WriteLine(str);
代码传到了 csdn 下载:http://download.csdn.net/detail/lindexi_gd/9749065
还有代码放在 code.csdn
代码:https://code.csdn.net/lindexi_gd/lindexi_gd/tree/master/hellow_$csdn
2018-8-10-C#-6.0-字符串-String-Interpolation的更多相关文章
- C# 6.0:String Interpolation
在开发中经常需要对字符串进行格式化处理.我们一般使用String.Format()方法,它会将指定字符串中的每个格式项替换为相应对象的值的文本等效项.虽然这很普通,但有时会容易使人迷惑并造成错误.因为 ...
- Swift3.0 字符串(string)
string常用的一些操作方式 //字符串 //1.初始化字符串 //1.1通过字面量赋值的方式初始化字符串 let tempStrig = "this is temp string&quo ...
- Swift 4.0 字符串(String)学习
定义字符串常量(常量只有读操作) let lString = "constant" let lString1: String = "constant" 定义字符 ...
- python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary
#python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...
- [转]标准C++字符串string以及MFC6.0字符串CString的tokenize和split函数
标准字符串的方法: /******************************************** the tokenize function for std::string ****** ...
- 如果不空null并且不是空字符串才去修改这个值,但这样写只能针对字符串(String)类型,如果是Integer类型的话就会有问题了。 int i = 0; i!=''。 mybatis中会返回tr
mybatis 参数为Integer型数据并赋值0时,有这样一个问题: mybatis.xml中有if判断条件判断参数不为空时,赋值为0的Integer参数被mybatis判断为空,因此不执行< ...
- Java入门篇(五)——Java的字符串/String类
前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...
- Java入门篇(五)——字符串/String类
前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...
- 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H)
目录 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛链接 竞赛题目 总结 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛 ...
- C# 字符串string类型转换成DateTime类型 或者 string转换成DateTime?(字符串转换成可空日期类型)
在c#中,string类型转换成DateTime类型是经常用到的,作为基本的知识,这里在此做个小结.一般来说可以使用多种方法进行转换,最常用的就是使用Convert.ToDateTime(string ...
随机推荐
- PHPCMS快速建站系列之网站迁移(本地到服务器,服务器迁移,更换域名等)
可能出现的问题: 1.后台登录验证码显示不正常(修改/caches/configs/system.php文件) //网站路径'web_path' => '/', 2.phpsso修改 如果不修改 ...
- 【Django入坑之路】Django与Query Ajax的交互
1:Jquery.ajax后端交互数据 $.ajax({ Url: /路由处理/, Type: GET/POST, #传送请求类型 Data: {user: “ XXXX”,pass:”XXXX”}, ...
- @uoj - 435@ 【集训队作业2018】Simple Tree
目录 @description@ @solution@ @accepted code@ @details@ @description@ 有一棵有根树,根为 1,点有点权. 现在有 m 次操作,操作有 ...
- Android Service Summary
In the Androird, service is a none-UI background process that is doing some specific jobs. 6.1 Ex ...
- LeetCode Weekly Contest 6
leetcode现在每周末举办比赛,这是今天上午参加的比赛的题解.题目难度不算大,两个easy,一个medium,一个hard.hard题之前接触过,所以做得比较顺利. 1. Sum of Left ...
- Python 基础06 循环
循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系. 循环也会用到类似的写法. for 循环 for 循环需要预先设定好循环的次数(n) 然后执行隶属于fo ...
- oracle函数 trunc(x[,y])
[功能]返回x按精度y截取后的值 [参数]x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示. [返回 ...
- 使用DataX同步MaxCompute数据到TableStore(原OTS)优化指南
概述 现在越来越多的技术架构下会组合使用MaxCompute和TableStore,用MaxCompute作大数据分析,计算的结果会导出到TableStore提供在线访问.MaxCompute提供海量 ...
- AtCoder Regular Contest 058
这个应该是第一场有英文的atcoder吧??不过题解却没有英文的... 从前往后慢慢做... C こだわり者いろはちゃん / Iroha's Obsession 数据范围这么小,直接暴力 #inclu ...
- poj 1716 Integer Intervals(差分约束)
1716 -- Integer Intervals 跟之前个人赛的一道二分加差分约束差不多,也是求满足条件的最小值. 题意是,给出若干区间,需要找出最少的元素个数,使得每个区间至少包含两个这里的元素. ...