.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!" 而当字符串中出现双引号时,我们可以用单引号' ...
随机推荐
- docker容器管理操作
Docker容器的四种状态: 运行 已暂停 重新启动 已退出 1.容器的创建 容器创建:就是将镜像加载到容器的过程. 创建容器时如果没有指定容器名称,系统会自动创建一个名称. 新创建的容器默认处于停止 ...
- 动手实践丨手把手教你用STM32做一个智能鱼缸
摘要:本文基于STM32单片机设计了一款基于物联网的智能鱼缸. 本文分享自华为云社区<基于STM32+华为云IOT设计的物联网鱼缸[玩转华为云]>,作者: DS小龙哥 . 1. 前言 为了 ...
- harbor之HTTPS安装
1.下载解压 # tar -xvf harbor-offline-installer-v1.7.6.tgz # cd /harbror 2.下载python2.7 # apt install pyth ...
- go交叉编译,部署到linux上出现cannot execute binray file的解决方案
写在前面: 了解过常见的项目部署方式后,打算先从最简单的方式开始.没想到踩了大坑.先说下整个部署的过程. 博主是在window上生成linux上的可执行文件.. 具体过程: 1.首先按照网上说的 ...
- 没错,请求DNS服务器还可以使用UDP协议
目录 简介 搭建netty客户端 在netty中发送DNS查询请求 DNS消息的处理 总结 简介 之前我们讲到了如何在netty中构建client向DNS服务器进行域名解析请求.使用的是最常见的TCP ...
- JS中操作数组、字符串的速度比较
对相同轻量级的数组和字符串进行检索: const arr = [1, 2, 3, 4, 5, 6, 7, 8, 'q'] const string = '12345678q' const Q = ...
- CSS 上下居中和最低高度语法
/*上下居中*/ vertical-align:center; font-size=line-height; /*最低高度*/ height:auto!important; height:400px; ...
- Rider调试ASP.NET Core时报thread not gc-safe的解决方法
新建了一个ASP.NET Core 5.0的Web API项目,当使用断点调试Host.CreateDefaultBuilder(args)时,进入该函数后查看中间变量的值,报错Evaluatio ...
- 前端监控系列1| 字节的前端监控SDK是怎样设计的
作者:彭莉,火山引擎 APM 研发工程师,2020年加入字节,负责前端监控 SDK 的开发维护.平台数据消费的探索和落地. 摘要 字节内部应用环境多样( Web 应用.小程序.Electron 应用. ...
- 深入理解 Spring 事务:入门、使用、原理
大家好,我是树哥. Spring 事务是复杂一致性业务必备的知识点,掌握好 Spring 事务可以让我们写出更好地代码.这篇文章我们将介绍 Spring 事务的诞生背景,从而让我们可以更清晰地了解 S ...