正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpressions.Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的正则表达式.它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类. 正则表达式的字符代表的说明: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN…
System.Text.RegularExpressions.Regex.IsMatch(string) 是否在指定字符串中找到制定项 System.Text.RegularExpressions.Regex.Replace  替换字符串的指定格式…
(6)特殊字符的匹配 string x = "//"; Regex r1 = new Regex("^////$"); Console.WriteLine("r1 match count:" + r1.Matches(x).Count);//1 Regex r2 = new Regex(@"^//$"); Console.WriteLine("r2 match count:" + r2.Matches(x)…
需要引入命名空间 using System.Text.RegularExpressions;(若不引入,则写Regex时要写成 System.Text.RegularExpressions.Regex) 正则表达式的Replace方法 string t = "sdf1234sdf12sd12"; t = System.Text.RegularExpressions.Regex.Replace(t, @"/d+[a-zA-Z]+", ""); @&…
本页列出来目前window下所有支持的字符编码  ---c#通过 System.Text.Encoding.GetEncodings()获取,里面可以对其进行查询,筛选,对同一个字符,在不同编码进行查看和分析... 代码页编号 名称 代码 类型 单字节码位 37 IBM EBCDIC (美国-加拿大) IBM037 SBCSCodePageEncoding 是 437 OEM 美国 IBM437 SBCSCodePageEncoding 是 500 IBM EBCDIC (国际) IBM500…
首先安装Unit Test Generator.方法为:工具->扩展和更新->联机->搜索“图标为装有蓝色液体的小试管.Unit Test Generator”, 编写代码,生成一个新的类,编写构造函数 与 add()函数.代码如下. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Co…
System.Text.Encodings.Web 空间包含表示 Web 编码器的基类.表示 HTML.JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符.字符范围或码位的筛选器的类. [ 定义来自 microsoft ] 该命名空间有五个类,用于不同对象的编码处理. 五个类 HtmlEncoder 表示 HTML 字符编码. JavaScriptEncoder 表示 JavaScript 字符编码. TextEncoder Web 编码器的基类. TextEncode…
string strTmp = "abcdefg某某某";int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;//获取与系统区域设置中的默认 ANSI 代码页相关联的编码,按照指定编码类型把字符串指定到指定的Byte数组 ,而字符串是占两个字符,所以会是13将一组字符编码为一个字节序列int j= strTmp.Length;以上代码执行完后,i= j=答:i=13,j=10 System.Text.Encoding.…
译注 可能有的小伙伴已经知道了,在.NET Core 3.0中微软加入了对JSON的内置支持. 一直以来.NET开发者们已经习惯使用Json.NET这个强大的库来处理JSON. 那么.NET为什么要增加JSON的内置支持呢? 最近,.NET的官方博客再次发表文章说明了这么做的原因.并介绍了相关API的用法. 现翻译出来分享给大家. 原文地址: https://devblogs.microsoft.com/dotnet/try-the-new-system-text-json-apis/ 尝试新的…
System.Text.Json处理Json文档需要用到JsonDocument,JsonElement,JsonProperty. JsonDocument就是一个表示Json文档的东西,JsonElement相当于光标. 处理Json文档时基本是对JsonElement和JsonProperty操作,JsonElement可以获取到JsonProperty,而JsonProperty的Value也是一个JsonElement,具体Api可以自行F12. 要处理Json文档我们需要获取一个Js…
.NET Core 3.0提供了一个名为System.Text.Json的全新命名空间,它支持reader/writer,文档对象模型(DOM)和序列化程序.在此博客文章中,我将介绍它如何工作以及如何使用. 官方文档 获取JSON库 如果以.NET Core为目标,请安装.NET Core 3.0及以上版本,该版本提供了新的JSON库和ASP.NET Core集成. 如果以.NET Standard或.NET Framework为目标.安装System.Text.Json NuGet软件包(确保…
.netcore3.0 的json格式化不再默认使用Newtonsoft.Json,而是使用自带的System.Text.Json来处理. 理由是System.Text.Json 依赖更少,效率更高. webapi定义的参数如果是个datetime类型的话 比如 public class Input { public DateTime?Begin{get;set;} public DateTime?End{get;set;} } webapi的controller中定义的action publi…
using ConsoleApp390.Model; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary;…
In .net core 3.0 using System;using System.Collections.Generic;using System.Collections;using System.IO;using System.Runtime.Serialization.Formatters.Binary;using System.Runtime.Serialization;using Newtonsoft.Json;using System.Text;using System.Text.…
System.Text.Json 是 .NET Core 3.0 新引入的高性能 json 解析.序列化.反序列化类库,武功高强,但毕竟初入江湖,炉火还没纯青,使用时需要注意,以下是我们在实现使用中遇到的一下问题. 1)默认设置下中文会被编码 序列化时中文会被编码,详见博问 .NET Core 3.0 中使用 System.Text.Json 序列化中文时的编码问题 . 解决方法: public void ConfigureServices(IServiceCollection services…
.Net Core 3.0 更新的东西很多,这里就不多做解释了,官方和博园大佬写得很详细 关于 Net Core 时区问题,在 2.1 版本的时候,因为用的是 Newtonsoft.Json,配置比较方便 AddJsonOptions(opt => { opt.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Local; }) 但是用 System.Text.Json 就没那么方便了,翻…
在.Net Framework的时候序列化经常使用Newtonsoft.Json插件来使用,而在.Net Core中自带了System.Text.Json,号称性能更好,今天抽空就来捣鼓一下. 使用起来其实也很简单,就是有些地方要注意,比如在我们的对象实体中有中文的话,直接序列化时中文会被转换成编码格式,时间格式序列化时会被转成默认的格式等. 下面就直接上Demo的代码了 using System; using System.Text.Encodings.Web; using System.Te…
ylbtech-System.Text.Encoding.cs 1.程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assem…
行为不一致 .NET Core 3.0 新出了个内置的 JSON 库, 全名叫做尼古拉斯 System.Text.Json - 性能更高占用内存更少这都不是事... 对我来说, 很多或大或小的项目能少个第三方依赖项, 还能规避多个依赖项的依赖 Newtonsoft.Json 版本不一致的问题, 是件极美的事情. 但是, 结果总不是不如预期那么简单和美好, 简单测试了下, 有一些跟 Newtonsoft.Json 行为不一致的地方, 代码如下: using Microsoft.VisualStud…
Newtonsoft.Json与System.Text.Json区别 在 Newtonsoft.Json中可以使用例如 .AddJsonOptions(options => { options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; }) 方式设置接收/序列化时间格式,但在.net core 3.1中System.Text.Json是没有自带方式进行转换,这就需要自定义Converter实现时间转换…
asp.net core3.x 新增的序列号接口System.Text.Json 序列化时,如果要对所有 JSON 属性名称使用 camel 大小写 将 JsonSerializerOptions.PropertyNamingPolicy 设置为 JsonNamingPolicy.CamelCase即可 例: var serializeOptions = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.Cam…
简介 .Net Core 3.0开始全新推出了一个名为System.Text.Json的Json解析库,用于序列化和反序列化Json,此库的设计是为了取代Json.Net(Newtonsoft.Json) 时间格式化的不足 System.Text.Json的优点就不说了,来说一下不完善的地方,毕竟一个新事物出来,不可能十全十美的,用的最多的就是时间的格式化 官方文档:在 System.Text.Json 中,具有内置支持的唯一格式是 ISO 8601-1:2019,因为它被广泛采用.意义明确并且…
本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (github.com)来查看编写进度.预计2021年年底会完成编写,2022年2月之前会完成所有的校对和转制电子书工作,争取能够在2022年将此书上架亚马逊.编写此书的目的是因为目前.NET市场相对低迷,很多优秀的书都是基于.NET framework框架编写的,与现在的.NET 6相差太大,正规的.NET 5学习教…
本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (github.com)来查看编写进度.预计2021年年底会完成编写,2022年2月之前会完成所有的校对和转制电子书工作,争取能够在2022年将此书上架亚马逊.编写此书的目的是因为目前.NET市场相对低迷,很多优秀的书都是基于.NET framework框架编写的,与现在的.NET 6相差太大,正规的.NET 5学习教…
.NET 5.0 最近发布了,并带来了许多新特性和性能改进.System.Text.Json 也不例外.我们改进了性能和可靠性,并使熟悉 Newtonsoft.Json 的人更容易采用它.在这篇文章中,我将讨论 System.Text.Json 所取得的进展,以及接下来会发生什么. 获取库 如果你的项目是针对 .NET 5 的,安装 .NET 5,System.Text.Json 是开箱即用的,没有任何其他先决条件. 如果你的项目目标是 .NET Core 3.x 或 .NET Framewor…
Encoding基类    System.Text.ASCIIEncoding类    System.Text.UnicodeEncoding类    System.Text.UTF32Encoding类    System.Text.UTF7Encoding类    System.Text.UTF8Encoding类…
前言 以前.NetCore是不内置JSON库的,所以大家都用Newtonsoft的JSON库,而且也确实挺好用的,不过既然官方出了标准库,那更方便更值得我们多用用,至少不用每次都nuget安装Newtonsoft.Json库了. 不过日常开发使用中会有一些问题,本文记录一下解决方法,欢迎交流~ (文章末尾包含小彩蛋) 字符编码问题 默认的 System.Text.Json 序列化的时候会把所有的非 ASCII 的字符进行转义,这就会导致很多时候我们的一些非 ASCII 的字符就会变成 \uxxx…
微软终于追上了? 图片来自 Glenn Carstens-Peters Unsplash 欢迎来到.NET性能系列的另一章.这个系列的特点是对.NET世界中许多不同的主题进行研究.基准和比较.正如标题所说的那样,重点在于使用最新的.NET7的性能.你将看到哪种方法是实现特定主题的最快方法,以及大量的技巧和窍门,你如何能以较低的努力最大化你的代码性能.如果你对这些主题感兴趣,请继续关注 在这篇文章中,我们将比较两个最突出的.NET的json框架.: Newtonsofts Json.NET 和 M…
本博客将测试MessagePack 和System.Text.Json 序列号 反序列化性能 项目文件: Program.cs代码: using BenchmarkDotNet.Running; using Demo; var summary = BenchmarkRunner.Run<SerializeTest>(); SerializeTest.cs代码: using BenchmarkDotNet.Attributes; using MessagePack; using System.T…
Exception when executing ) br is a binary reader. The data to peak is D000 (D0=208) The cause is, for PeekChar, after peak, the value will be transformed to char. But Unicode and normal char has different length. If I use br.ReadByte(), there will be…