.Net 7 C#11 原始字符串原创
28人赞赏了该文章
215次浏览
编辑于2023年08月30日 17:46:35
.Net7 的到来的同时,也带来了 C# 11,而令我最期待的就是 C# 11 的 原始字符串了,当我知道这个的时候,简直比过年还要开心。
非原始字符串
首先我们看看现在写字符串的方式
var str = @"雪莉:""有人在吗?"" 神乐:""他们有事出去了,你有什么困扰呢? 万事屋神乐为您服务阿鲁!"" 雪莉:""作为一个ssr,却被大家说点击就送,我也太卑微了!怎样才能让我更有魅力,更受欢迎呢!"" 神乐:""没问题阿鲁!全都交给我吧!""";
这还算是好的,如果是 json 字符串,那简直是伤眼睛,敲起来也非常麻烦,当然,不建议真的手动敲啊,弄个实体类,然后序列化一下就好,这里只是举个例:
var json = "[\r\n" + " {\"name\":\"雪莉\",\"say\":\"有人在吗?\"},\r\n" + " {\"name\":\"神乐\",\"say\":\"他们有事出去了,你有什么困扰呢? 万事屋神乐为您服务阿鲁!\"},\r\n" + " {\"name\":\"雪莉\",\"say\":\"作为一个ssr,却被大家说点击就送,我也太卑微了!怎样才能让我更有魅力,更受欢迎呢!\"},\r\n" + " {\"name\":\"神乐\",\"say\":\"没问题阿鲁!全都交给我吧!\"}\r\n" + "]";
我们将上面的两个字符串输出到页面上
原始字符串
而使用了 原始字符串 是什么样子的呢,我们一起来看看吧
str = 雪莉:
再看看 json 字符串的
var json = """[ {"name":"雪莉","say":"有人在吗?"}, {"name":"神乐","say":"他们有事出去了,你有什么困扰呢? 万事屋神乐为您服务阿鲁!"}, {"name":"雪莉","say":"作为一个ssr,却被大家说点击就送,我也太卑微了!怎样才能让我更有魅力,更受欢迎呢!"}, {"name":"神乐","say":"没问题阿鲁!全都交给我吧!"} ]""";
同样,我们将它输出到页面上
一样样的,是不是非常爽!让我们成为 萌妹 萌妹 萌妹!!!
实际生成的字符串
接着我们分别调试一下看看生成的字符串是怎样的
非原始字符串
原始字符串
可以看到,生成出来的是一样的,所以 原始字符串只是一个语法糖,它的作用只是方便了我们平时的开发。
排版
在我们的开发习惯中,字符串如果需要换行的话,都会优先考虑使用 @,像上面的那个例子,想要输出的很好看,你必须要贴着编辑器的最左边,不能留下一个空格,不然就会很难看;
var str = @"雪莉:""有人在吗?"" 神乐:""他们有事出去了,你有什么困扰呢? 万事屋神乐为您服务阿鲁!"" 雪莉:""作为一个ssr,却被大家说点击就送,我也太卑微了!怎样才能让我更有魅力,更受欢迎呢!"" 神乐:""没问题阿鲁!全都交给我吧!""";
而原始字符串也处理了这个问题,我们直接将原始字符串的开头空一定数量的空格,那么后续所有的对齐都是按照这个空格来进行对齐。
推荐阅读