首页 > 编程语言 >C#11:原始字符串

C#11:原始字符串

时间:2022-12-04 16:00:46浏览次数:42  
标签:11 firstName C# lastName var 字符串

  这一直以来是我写代码的一个痛点,C#11终于解决了,那就是我想把一个整齐的格式的json字符串转出,但不能如愿,要不用一个三方库来搞定,要不就加各种双引号,如果有变量还得小心处理{},因为在C#string类型中 @,$,",{,}都是有含义的,组合使用后就各种转义,补齐,C#11终于解决了这个痛点,使用方式如下:

  环境要求:Visual Studio 17.2 Preview 3或.NET 7 Preview 3

  创建控制台项目,目标框架选成.NET7.0,然后修改项目文件.csproj,增加两个节点,这样就能使用到C#11的功能。

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<LangVersion>preview</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>

  代码主要通过$$"""开始原始字符串格式,用"""来结束原始字符串格式,中间的内容,可以原封不动的放上去,如果有外部变量,用{{}}原占位替换,整个字符串看起来很顺眼,找问题也很容易了。这里注意的一点是,$$是字符串格式的开始占位,下面的行不能超出$$,否则编译器报错。

//原始字符串
var firstName = "桂";
var lastName = "素伟";
var json =
$$"""
{
"firstName": "{{firstName}}",
"lastName": "{{lastName}}",
"sex": "male",
"age": 15
}
""";
Console.WriteLine(json);

var xml=
$$"""
<?xml version="1.0"?>
<Person>
<FirstName>{{firstName}}</FirstName>
<LastName>{{lastName}}</LastName>
<Sex>male</Sex>
<Age>15</Age>
</Person>
""";
Console.WriteLine(xml);

  想要更快更方便的了解相关知识,可以关注微信公众号 

C#11:原始字符串_C#11

 

标签:11,firstName,C#,lastName,var,字符串
From: https://blog.51cto.com/axzxs/5909995

相关文章

  • 修改iframe里的css样式及跨域问题
    前段时间给一个客户制作网站在线客服的时候遇到一个问题,客户想尽量美化一下客服的框,而我们研究发现,客服框其实是iframe引用的外部资源。开始我们也天真地以为,自己写段代码,......
  • 4 字符串
    HeadFirstJava和AcWingJava课程做的总结4。计算机中只有0/1,会有字符是因为将特定的0/1序列转换为字符。4.1ASCII码每个常用字符都对应一个-128~127的数字,二者......
  • [WUSTCTF2020]B@se
    题目附件内容:   首先通过观察题目字符特征很明显是base64编码,第一行的密文是通过下面给的base64的变表,但是仔细观察缺少了四个字符,因此我们需要写脚本把缺少的字符......
  • C Primer Plus 10.13第13题的一点想法
    在网上看了一些网友的答案,不是很满意!于是自己写了一个#include<stdio.h>#include<ctype.h>voidshow_arr(intarr[][5],intn);voidstore_date(doublearr[][5])......
  • C#11:原始字符串
    这一直以来是我写代码的一个痛点,C#11终于解决了,那就是我想把一个整齐的格式的json字符串转出,但不能如愿,要不用一个三方库来搞定,要不就加各种双引号,如果有变量还得小心......
  • C#11:原始字符串
    这一直以来是我写代码的一个痛点,C#11终于解决了,那就是我想把一个整齐的格式的json字符串转出,但不能如愿,要不用一个三方库来搞定,要不就加各种双引号,如果有变量还得小心......
  • python分布式框架celery(二)
    一、什么是Celery1.1、celery是什么Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。Celery的架构由三......
  • 算法刷题532113D
    题目链接https://vjudge.net/contest/532113#problem/D思考虽然AC之后觉得题目难度不是很高,但也是第一次做比较综合的题目,花了快一天才做出来,只能说水平还是菜思路......
  • java——mybatis——Mybatis注解开发——@Select查询——查询所有数据
    pom.xml配置:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins......
  • RHEL8关于创建Service服务的帮助手册
    Systemd手册主页Systemd服务关于搜索路径顺序和部分配置项手册Systemd服务配置语法如果想通过man查看手册的话,那么使用mansystemd.<unit|syntax|...>格式进行查看帮......