分享一些在 dotnet 中处理 JSON 的常规及非主流操作【第一篇】
Json.NET 是 .NET 平台中非常流行的高性能 JSON 处理框架。仅通过一行代码即可实现 JSON 序列化和反序列化: 序列化 JSON 反序列化 JSON 反序列化匿名类 如果你不想创建新类型,那也可以直接使用匿名类进行反序列化...
Json.NET 是 .NET 平台中非常流行的高性能 JSON 处理框架。仅通过一行代码即可实现 JSON 序列化和反序列化: 序列化 JSON 反序列化 JSON 反序列化匿名类 如果你不想创建新类型,那也可以直接使用匿名类进行反序列化...
在某些软件的交互中,直接点击按钮和按住某个按键后点击按钮的效果是不同的。比如要对 iPhone 进行 DFU 刷机,就必须按下“Shift”键之后,再点击“恢复”按钮。 在 WPF 软件开发中可以使用 Keyboard 类实现类似功能,Ke...
在关系型数据库中,可以通过 max 和 min 函数获取到某一列的所有行的最大和最小值: 但如果要获取两列中的最大值,就需要使用另一个函数:GREATEST 。 在物流系统中,被运送的货物常常是有两个重量的: 在计算运费时,往往会以上面两个...
在开发 WPF 应用程序时,在列表中展示相关图片是一个很常见的需求。比如,在列表中展示用户的虚拟头像:如果每页显示 100 条数据的话,那么就需要加载一百张图片到内存里。很显然这不会出什么问题,一般情况下用户的图像都不会太大。 但如果换个场...
场景:如果程序 D 已被运行 进程 A,那么再次启动程序D 运行进程 B,B 会识别到已有相同的进程,此时 B 会将 A 窗口激活弹出来,然后 B 再退出。这样不仅可以限制只能运行一个进程,而且可以让用户体验更加好。 如果程序 D 在一台计...
在程序使用“普通用户”权限启动后,如果需要执行一些需要“管理员”权限的操作时,可以启动一个新的进程并配置 Verb = "runas" 。比如以下的重启计算机命令: 执行后,将会弹出一个 UAC 窗口。用户点击“是”之后,计算机就会重新启动...
当需要存储一些 BLOB 信息时,可以将完整的文件内容直接存储在数据库中,也可以将其存储在单独的文件中并仅将相应的文件名存储在数据库中。这两种方式里,哪个的读取速度更快呢? 为了尝试回答这个问题,我运行了 49 个测试案例,其中有各种 BL...
使用 System.IO.File.WriteAllText 方法可以很轻松的将文字内容写入文件: 但如果要写入的文件比较特殊,就会抛出 UnauthorizedAccessException 异常: 在 .NET 7.0 中的提示大概是这...
从 .NET Standard 1.1 开始,dotnet 新增了 Architecure 枚举,用于表示处理器的架构(X86、X64、Arm或Arm64)。可参考微软的官方文档: https://learn.microsoft.com/e...
因为 DNS 的存在,我们发送一个 HTTP 请求时无需关心域名对应的 IP 地址究竟是什么。 出于优化访问速度或负载均衡等原因,不同的时刻、不同的地区访问同一个资源时对应的 WEB 服务器可能是不相同的。比如在访问 luyao.coder...
在 C# 中,使用 TimeSpan 来表示一个时间段。比如以下的 ts 变量代表 100 分钟。 但有时需要将 TimeSpan 转换为 DateTime 来完成一些骚操作。最简单高效的方式就是创建一个 DateTime 对象,并将 Ti...
本文来告诉大家在 dotnet 6 的 HttpClientHandler 和 SocketsHttpHandler 两个类型有什么不同
HttpClient 可以用来发送 HTTP 请求。HttpClient 可以设置为单例并在整个生命周期中重复使用。这是因为,HttpClient 有一个“连接池”来重用连接并减少 TCP 连接的数量。因此,如果您向同一主机发送多个请求,它...
在 C# 中,可以使用 FileSystemWatcher 来监控一个文件、目录是否发生改变。但如果用来监控日志文件(比如 log4net 输出的日志)则会发现:即使启用 LastWrite 和 Size 过滤器,变更反馈也不及时,甚至根本...
在 Visual Studio 中查看文件变更详情时有可能遇到以下错误: 遇到这个问题,可以尝试关闭 Visual Studio 的“行暂存支持”,然后重启 Visual Studio 即可。 经测试,对以下版本有效: Microsoft ...
数据压缩是一个软件开发中的常见需求:很多时候需要先将较大的数据进行压缩然后再通过网络等进行传输。 在 .NET 中,有多个压缩算法供我们选择:Deflate、GZip 和 Br 。这些压缩算法都是基于流(Stream)的,在对字符串压缩前需...
SQL 中最强大的也是最复杂的就是查询部分。在需要查询多条记录时我们一般会采用 in 关键字来指定要查询的条件: 但如果对应的数据需要两个或更多字段才能确定,可能会写出以下的 SQL 语句: 以上代码当然能用,但拼接出来的语句过于复杂。有一...
PDF 是 Portable Document Format 的简称,意为“可携带文档格式”,是由 Adobe Systems 用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF 文件以 PostScript 语...
使用 HTTP 协议上传文件的标准做法是:使用 multipart/form-data 。但有时为了实现简单且要上传的文件不会太大,仍然会采用 application/x-www-form-urlencoded 上传文件,这就需要在上传前对...
从 .NET Framework 4.5 版本开始,微软为 .NET 类库增加了一个名为 ZipFile 的类型。该类型在 System.IO.Compression 命名空间下,提供创建、解压缩和打开 zip 存档的静态方法。若要在 .N...