C#11:原始字符串
这一直以来是我写代码的一个痛点,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);
想要更快更方便的了解相关知识,可以关注微信公众号

****欢迎关注我的asp.net core系统课程****
《asp.net core精要讲解》 https://ke.qq.com/course/265696
《asp.net core 3.0》 https://ke.qq.com/course/437517
《asp.net core项目实战》 https://ke.qq.com/course/291868
《基于.net core微服务》 https://ke.qq.com/course/299524
《asp.net core精要讲解》 https://ke.qq.com/course/265696
《asp.net core 3.0》 https://ke.qq.com/course/437517
《asp.net core项目实战》 https://ke.qq.com/course/291868
《基于.net core微服务》 https://ke.qq.com/course/299524
分类:
.net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示