
路遥工具箱 V5 版本开发前瞻
路遥工具箱是我在学习 WPF 时练手所作的一个小工具,即将迎来 2024 年,路遥工具箱也将在 2024 年开启新的 V5 版本。新版本的核心诉求仍然是满足我自己的日常需要,最大的改变是将界面框架从 WPF 换成 Avalonia ,同时升...
路遥工具箱是我在学习 WPF 时练手所作的一个小工具,即将迎来 2024 年,路遥工具箱也将在 2024 年开启新的 V5 版本。新版本的核心诉求仍然是满足我自己的日常需要,最大的改变是将界面框架从 WPF 换成 Avalonia ,同时升...
Avalonia 是一个用于跨平台应用程序开发的开源框架。它的目标是提供一个基于XAML的用户界面框架,可以在 Windows、Linux 和 macOS 等操作系统上运行。 虽然只有一些很薄弱的 WPF 开发基础,但 Avalonia 入...
有时候我们会将一段 JSON 字符串存入数据库,以期在某个接口被调用时将其返回给客户端。这种返回一般不是原样返回:我们可能需要对结果包装一下,比如将数据包在 data 字段里同时提供 code 和 message 字段。 这很好办,只要设计...
单位转换是一个非常常见的场景:如果系统接收多个不同来源上报的尺寸信息,且需要进行计算时,转换为统一的单位可以大大降低后续计算的复杂度。 本文提供了两个方法,分别用来将长度按单位转换为毫米和重量转换为克: 将长度转换为毫米并向上取整: 将重量...
在编写一个 C# 类或者方法时,默认的可见级别是 internale 。这代表着该类型不能被其他程序集轻松访问。 新建一个类库项目 ClassLibrary1,写入以下代码: 新建一个控制台项目,引用 ClassLibrary1 后,写入以...
在现代软件开发中,唯一标识符(Unique Identifier,简称 UUID)扮演着非常重要的角色,用于保证数据的唯一性和标识对象。UUID 是一串由 16 字节组成的字符序列,通常使用标准的 36 个字符表示法(例如:550e8400...
System.Random 类表示伪随机数生成器,这是一种能够产生满足某些随机性统计要求的数字序列的算法。 如果要在多线程环境下使用上述代码: 在 .NET Framework 平台上,会产生相同的输出(即所有的随机结果都是相同的): 如果...
要获得一个随机数据,最简单的方法是使用 Random 类型: https://learn.microsoft.com/zh-cn/dotnet/api/system.random?view=net-7.0 如果要从一个数组中随机取出一条数据...
以前用 Visual Studio 2019,打开新生命 NewLife.Core 源码没问题,现在升级到 VS2022 了,却遇到了编译报错: Error MSB3644 The reference assemblies for .NET...
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 窗口。用户点击“是”之后,计算机就会重新启动...
2022 年统计用行政区划代码五级库最终版。由码农很忙整理发布,包含数据 664486 条,数据来来自统计局网站:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2022/index.htm...
奥地利 1995 年成为欧盟成员国,1999 年成为欧元区成员,1997 年成为申根区成员。 比利时 1958 年成为欧盟成员国,1999 年成为欧元区成员,1995 年成为申根区成员。 保加利亚 欧盟成员国自2007年以来。 克罗地亚 自...
当需要存储一些 BLOB 信息时,可以将完整的文件内容直接存储在数据库中,也可以将其存储在单独的文件中并仅将相应的文件名存储在数据库中。这两种方式里,哪个的读取速度更快呢? 为了尝试回答这个问题,我运行了 49 个测试案例,其中有各种 BL...
使用 System.IO.File.WriteAllText 方法可以很轻松的将文字内容写入文件: 但如果要写入的文件比较特殊,就会抛出 UnauthorizedAccessException 异常: 在 .NET 7.0 中的提示大概是这...
MIME type (现在称为“媒体类型(media type)”,但有时也是“内容类型(content type)”)是指示文件类型的字符串,与文件一起发送(例如,一个声音文件可能被标记为 audio/ogg ,一个图像文件可能是 ima...