如何在 .NET Framework 中实现一个线程安全的 System.Random 对象?
System.Random 类表示伪随机数生成器,这是一种能够产生满足某些随机性统计要求的数字序列的算法。 如果要在多线程环境下使用上述代码: 在 .NET Framework 平台上,会产生相同的输出(即所有的随机结果都是相同的): 如果...
System.Random 类表示伪随机数生成器,这是一种能够产生满足某些随机性统计要求的数字序列的算法。 如果要在多线程环境下使用上述代码: 在 .NET Framework 平台上,会产生相同的输出(即所有的随机结果都是相同的): 如果...
要获得一个随机数据,最简单的方法是使用 Random 类型: https://learn.microsoft.com/zh-cn/dotnet/api/system.random?view=net-7.0 如果要从一个数组中随机取出一条数据...
Json.NET 是 .NET 平台中非常流行的高性能 JSON 处理框架。仅通过一行代码即可实现 JSON 序列化和反序列化: 序列化 JSON 反序列化 JSON 反序列化匿名类 如果你不想创建新类型,那也可以直接使用匿名类进行反序列化...
场景:如果程序 D 已被运行 进程 A,那么再次启动程序D 运行进程 B,B 会识别到已有相同的进程,此时 B 会将 A 窗口激活弹出来,然后 B 再退出。这样不仅可以限制只能运行一个进程,而且可以让用户体验更加好。 如果程序 D 在一台计...
在程序使用“普通用户”权限启动后,如果需要执行一些需要“管理员”权限的操作时,可以启动一个新的进程并配置 Verb = "runas" 。比如以下的重启计算机命令: 执行后,将会弹出一个 UAC 窗口。用户点击“是”之后,计算机就会重新启动...
使用 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 过滤器,变更反馈也不及时,甚至根本...
数据压缩是一个软件开发中的常见需求:很多时候需要先将较大的数据进行压缩然后再通过网络等进行传输。 在 .NET 中,有多个压缩算法供我们选择:Deflate、GZip 和 Br 。这些压缩算法都是基于流(Stream)的,在对字符串压缩前需...
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...
根据百度百科,EAN-13 商品条码的标准尺寸是 37.29mm x 26.26 mm ,按照 300 DPI 换算像素大小是 440 x 310 。 如果想在 Windows 平台生成符合上述要求的 EAN-13 条码可以使用组件:ZXi...
Base62 编码与 Base64 编码类似,都用于数据内容编码。Base64 和 Base62 的目的在都在于将需要传输的内容进行编码,尤其是一些特殊字符(如不可见字符、传输时与协议头冲突的字符)。 与 Base64 不同的是,Base6...
在 .NET 的世界中,一般习惯对公开的信息(类名、属性名、方法名等)使用大驼峰命名法(CamelCase)。比如常见的 Console 类型、Title 属性以及 WriteLine 方法。 除了大驼峰命名法,常见的还有小驼峰命名法以及蛇...
在过去的几个Visual Studio发布周期中,Windows Forms(WinForms)团队一直在努力使.NET应用程序的WinForms设计器与.NET Framework设计器平价。如您所知,需要一个新的 WinForms 设计...