.Net 7 C#11 原始字符串
.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" +
"]";
我们将上面的两个字符串输出到页面上

原始字符串
而使用了 原始字符串 是什么样子的呢,我们一起来看看吧
var str =
"""
雪莉:"有人在吗?"
神乐:"他们有事出去了,你有什么困扰呢? 万事屋神乐为您服务阿鲁!"
雪莉:"作为一个ssr,却被大家说点击就送,我也太卑微了!怎样才能让我更有魅力,更受欢迎呢!"
神乐:"没问题阿鲁!全都交给我吧!"
""";
再看看 json 字符串的
var json =
"""
[
{"name":"雪莉","say":"有人在吗?"},
{"name":"神乐","say":"他们有事出去了,你有什么困扰呢? 万事屋神乐为您服务阿鲁!"},
{"name":"雪莉","say":"作为一个ssr,却被大家说点击就送,我也太卑微了!怎样才能让我更有魅力,更受欢迎呢!"},
{"name":"神乐","say":"没问题阿鲁!全都交给我吧!"}
]
""";
同样,我们将它输出到页面上

一样样的,是不是非常爽!让我们成为 萌妹 萌妹 萌妹!!!
实际生成的字符串
接着我们分别调试一下看看生成的字符串是怎样的
非原始字符串

原始字符串

可以看到,生成出来的是一样的,所以 原始字符串只是一个语法糖,它的作用只是方便了我们平时的开发。
好了,惯例感谢大佬们的观看,拜拜!
原文链接:https://www.cnblogs.com/ysmc/p/16730755.html
.Net 7 C#11 原始字符串的更多相关文章
- 什么是 C++ 11 原始字符串?
std::string path = "C:\\VulkanSDK";//需要转义 std::string path = R"(C:\VulkanSDK)";/ ...
- C#11之原始字符串
最近.NET7.0和C#11相继发布,笔者也是第一时间就用上了C#11,其中C#11的有一个更新能解决困扰我多年的问题,也就是文章的标题原始字符串. 在使用C#11的原始字符串时,发现的一些有意思的东 ...
- c++11 R+字符串
R+字符串 prefix(optional) R"delimiter(raw_characters)delimiter" (6) (since C++11) C++11引入了原始字 ...
- .Net 7内容汇总(2)--原始字符串
在C# 11里,添加了一个叫原始字符串的东西. 这个东西算是我相当喜欢以及期待的功能. 我们先来看看这玩意咋用. 首先,我们先来看看之前如果我们需要定义一个带引号的字符串我们需要怎么做. var a ...
- JAVA----编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
package com.pb.demo.packclass.demo1; import java.util.HashSet; /** * 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 ...
- devi into python 笔记(六)正则表达式 原始字符串
字符串函数replace: #string.replace: #字符串的replace方法:替换子串,不改变原来的字符串 s = "broad road" #打印出来会发现不单单是 ...
- python原始字符串
str1='let's go' File "<input>", line 1 str1='let's go' ^ SyntaxError: invalid syntax ...
- 1.11 str 字符串
字符串属于不可变序列,是 文本序列. 字符串的声明 >>> #字符串的声明既可以用单引号也可以用双引号,这两个能方法在效果上是一样的 >>> s = '' > ...
- Python基础语法——(引号、字符串、长字符串、原始字符串、Unicode)
一.单引号字符串和转义引号 当字符串中出现单引号'时,我们可以用双引号""将该字符串引起来:"Let's go!" 而当字符串中出现双引号时,我们可以用单引号' ...
随机推荐
- 分享|2022数字安全产业大数据白皮书(附PDF)
内容摘要: 2021年以来,数字安全赛道的受关注程度达到一个历史新高度.<数据安全法><个人信息保护法><关键信息基础设施安全保护条例>,一个接一个重磅的法规接连出 ...
- jdbc 12: 悲观锁
jdbc连接mysql,简单演示行级锁 通过debug模式进行演示 在Test1程序设置断点,让程序1,查询并锁定数据,且程序不执行完(此时停在debug断点处) 这时启动Test2程序,去修改已经被 ...
- 对象数组的foreach循环操作和集合容器
ForEach标签可以循环数组,list,map集合 采用 foreach循环遍历 ,并每次循环允许执行一次回调函数 for (容器中元素类型 临时变量: 容器变量) { System.out.pri ...
- YII behaviors使用
文件 frontend/libs/FilterTest.php <?php /** * Created by PhpStorm. * Date: 2016/5/27 * Time: 14:16 ...
- SpringBoot定时任务 - 经典定时任务设计:时间轮(Timing Wheel)案例和原理
Timer和ScheduledExecutorService是JDK内置的定时任务方案,而业内还有一个经典的定时任务的设计叫时间轮(Timing Wheel), Netty内部基于时间轮实现了一个Ha ...
- [原创] RestartPC64-中文版v1.0.0.9
原来发布的RestartPC-中文版和英文版v1.0.0.5,在PE64下无效.所以重新编译了64位版的RestartPC64-中文版v1.0.0.9,可以在PE64下面.正常Win64系统下面重启关 ...
- 一颗完整意义的LPWAN SOC无线通信芯片——ASR6601
ASR6601是完整意义的LPWAN SOC无线通信芯片,该芯片集成了LORA射频收发器.调制解调器和32位RISC MCU.MCU采用cortex M4,频率48mhz.LORA射频收发器从150 ...
- Mybatis完整版详解
一.简介 1.什么是MyBatis MyBatis 是一款优秀的持久层框架 它支持自定义 SQL.存储过程以及高级映射. MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作 ...
- Linux 03 用户管理
参考源 https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0 版本 本文章基于 CentOS 7.6 概述 Linux ...
- Oracle-视图,约束
试图:试图是数据库对象之一视图在sql语句中体现的角色与表一致,但它不是一张真是存在的表,只是对应了一个查询语句的结果集当试图对应的子查询中含有函数或者表达式时,那么必须指定别名试图根据对应的子查询分 ...