newbe

Now, everyone will be excellent!

正在加载今日诗词....

🎉 QQ 频道现在已经创建完毕,点击此处获取加入方式,让我们一同学习共同进步。

InternalsVisibleTo 属性允许你指定一个或多个程序集,这些程序集可以访问当前程序集中的内部类型。经常在进行单元测试时使用,例如,你可以在一个项目中定义一个内部类型,然后在另一个项目中进行单元测试。本文将介绍如何指定多个项目的 InternalsVisibleTo,从而不需要在每个项目中都指定一遍。

阅读全文 »

在软件开发过程中,有时候我们需要定时地检查数据库中的数据,并在发现新增数据时触发一个动作。为了实现这个需求,我们在 .Net 7 下进行一次简单的演示。

阅读全文 »

我们之前提到 List 是 .NET 中常用的数据结构,其在存储大量数据时,如果能够指定它的初始化容量,就会有性能提升。这个优化的方法并不是很明显,因此本文将使用 BenchmarkDotNet 库,通过定量对比的方式来证明这一点。

阅读全文 »

在 .NET 中,日期和时间通常使用 DateTime 或 DateTimeOffset 来表示。这两种数据类型都可以表示日期和时间,但它们之间有一些明显的区别。DateTime 是不带时区信息的,而 DateTimeOffset 是带时区偏移量的,可以用来表示一个特定的时刻。

在现代 web 应用中,我们经常需要将日期和时间数据序列化为 JSON 格式,以便在客户端和服务端之间进行通信。.NET 提供了多种方法来实现 JSON 序列化,其中 System.Text.Json 库是 .NET Core 3.0 以后推出的新型 JSON 序列化器,它比早期的 DataContractJsonSerializer 和 Newtonsoft.Json 更快,更轻量,并且提供了更为丰富的功能。

在本文中,我们将探讨如何在 System.Text.Json 中将 DateTimeOffset 序列化为时间戳。

阅读全文 »

在分布式系统中,雪花 ID 是一种常用的唯一 ID 生成算法。它通过结合时间戳、机器码和自增序列来生成 64 位整数 ID,可以保证 ID 的唯一性和顺序性。

在.Net 项目中,我们可以使用 IdGen 这个类库来生成雪花 ID。它是一个开源的类库,可以轻松地集成到你的项目中。

阅读全文 »

在 Web 开发中,经常会遇到这样的场景:用户发起一个请求,Web 服务器执行一些计算密集型的操作,等待结果返回给用户。这种情况下,如果用户在等待结果的过程中取消了请求,那么服务器端依然会继续执行计算,这样就会造成资源浪费。

为了解决这个问题,我们可以使用 CancellationToken 来提高 Web 性能。CancellationToken 是 .NET 中一个很重要的概念,它可以用于在代码执行过程中取消操作。

下面,我们将通过一个示例来演示如何使用 CancellationToken 来提高 Web 性能。

阅读全文 »

在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。

为了避免这种情况,.NET 框架引入了 Random.Shared 属性。它返回一个特殊的 Random 实例,可以在多线程环境中安全地生成伪随机数。

阅读全文 »

在 .Net 技术中,使用 List<> 来存储数据是很常见的。List<> 是一个可以动态增长的泛型集合类型,可以存储任何类型的数据。

但是,在实际使用中,很多人并不注意给定 List<> 的初始大小,导致在数据量较大时,List<> 的性能可能不尽如人意。

阅读全文 »
0%