C# 实现时间来到新的一天时触发事独立观察员 2023 年 12 月 19 日看到知乎有人提问《C# 如果要实现一个任务每天 0 点执行,用什么方法等待更高效?》,回想起之前写过的一个方法,现在翻出来大家讨论讨论。新建一个时间事件帮助类(单例),通过定时器,到第二天 0 点后触发 [新的一天] 事件,使用的地方订阅这个事件即可。/// <summary ......
212
0
0
2024-02-29
一、引言事务是数据库管理系统中的一个基本概念,用于管理对数据库的一系列操作,以确保数据的一致性和完整性。在Redis中,事务通过MULTI、EXEC、DISCARD和WATCH等命令实现。事务中的操作要么全部执行,要么全部回滚,保证了原子性。通过WATCH命令,Redis实现了乐观锁,确保在事务执行期间没有其他客户端对监视的键进行修改,以保证事务的隔离性。事 ......
299
0
0
2024-02-24
一、简介C# 中通过 StackExchange.Redis 库可以方便地操作 Redis,实现高性能的数据缓存和存储。StackExchange.Redis 提供了强大的 API,允许开发者轻松连接、读取和写入 Redis 数据。通过使用 ConnectionMultiplexer 类,可以建立与 Redis 服务器的连接,并使用 IDatabase 接口 ......
303
0
0
2024-02-24
.NET中有多少种定时器一文介绍过.NET中至少有6种定时器,但精度都不是特别高,一般在15ms~55ms之间。在一些特殊场景,可能需要高精度的定时器,这就需要我们自己实现了。本文将讨论高精度定时器实现的思路。高精度定时器一个定时器至少需要考虑三部分功能:计时、等待、触发模式。计时是进行时间检查,调整等待的时间;等待则是用来跳过指定的时间间隔。触发模式是指定 ......
226
0
0
2024-02-19
前言我们上一篇讲了一下枚举类型的优化,本篇来看下DateTime也就是时间格式的优化。概述DateTime 和 DateTimeOffset 为例。dotnet/runtime#84963 改进了 DateTime{Offset} 格式化的各种方面:格式化逻辑具有用作回退的一般支持,并支持任何自定义格式,但也有用于最流行格式的专用例程,允许对其进行优化和调整 ......
236
0
0
2024-02-17
前言在Web应用开发中,经常需要实现PDF文件的加载和显示功能。本文小编将为您介绍如何在ASP.NET Core中实现这一功能,以便用户可以在Web应用中查看和浏览PDF文件。实现步骤1)在服务器端创建PDF打开 Visual Studio 并创建新的 ASP. NET Core Web 应用程序,小编这里项目名称为CreatePDF。选择 .NET Cor ......
224
0
0
2024-02-16
今天给大家推荐一个.NET开发的,可以将winform应用的崩溃报告发送到指定邮箱的库CrashReporter.NET,其中包含完整的异常报告(如堆栈跟踪、异常类型、消息、源、.NET CLR 版本、OS 版本和应用程序版本)、堆栈跟踪和屏幕截图。1使用代码先安装nuget包:PM> Install-Package CrashReporter.NET ......
225
0
0
2024-02-15
要运行本文中的示例,请先安装Vistual Studio 2022,社区版就可以了。1 创建项目选择创建WPF应用给程序起一个酷酷的名字,选一个酷酷的位置:选一下.NET62 配置项目从nuget.org上安装AnyCAD Rapid SDK 2022。3 设计界面首先引入程序集: xmlns:anycad="clr-namespace:AnyCAD.WP ......
241
0
0
2024-02-15
1.前言 Ref这个关键字其实就是非托管里面的指针。它可能是一级指针也可能是二级指针。它可以直接通过托管操控内存。本篇来看下。2.概述 一:例子 先上简单例子代码:static string ABC(string str) { return str; } static string DEF(ref string str) { ret ......
220
0
0
2024-02-05
英文:devblogs.microsoft.com 译文:cnblogs.com/xiaoxiaotank/p/13206569.html 译者:xiaoxiaotank前言Task类是在.NET Framework 4引入的,位于System.Threading.Tasks命名空间下,它与派生的泛型类Task<TResult>已然成为.NET编 ......
210
0
0
2024-02-03
本文中将会对就重要的特性进行介绍,并用代码示例展示这些特性。有些特征已经发布!RecordsRecords 是一种全新的简化的 C# class 和 struct 的形式。现在当我们需要声明一个类型用来保存数据,并且支持数据的解构的话,需要像如下一样写出大量的样板代码:class Point : IEquatable<Point> { ......
248
0
0
2024-01-27
前言中台admin是前后端分离权限管理系统,Admin.Core为后端项目,基于.NET 7.0开发。支持多租户、数据权限、动态 Api、任务调度、OSS 文件上传、滑块拼图验证、多数据库,分布式缓存、分布式事务等接口文档一览项目地址Github https://github.com/zhontai/Admin.Core技术栈dotnet7FreeSqlAu ......
227
0
0
2024-01-27
何为反射? 首先我们通过两个实例来说明反射的大体概念。 B超:大家体检的时候大概都做过B超,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了。地球内部结构:地球的内部结构大体可以分为三层:地壳 ......
277
0
0
2024-01-27
1.概要什么是不可变类型?在C#中,不可变类型(Immutable Types)是指一旦创建后,其状态或内容不能被修改的数据类型。不可变类型是基于函数式编程的概念,它们通常用于创建不可更改的对象,从而提高代码的可靠性、可维护性和线程安全性。不可变类型有哪些?Tuple元组 (Tuple) 是C#中的一个泛型类型,它允许将多个值打包成一个单一的不可变对象。元组 ......
216
0
0
2024-01-19
1.概要乐观锁(Optimistic Locking)乐观锁的核心思想是假设在大多数情况下,资源不会发生冲突,因此允许多个用户或线程同时读取和修改资源。只有在真正发生冲突的时候才会进行冲突解决。乐观锁的工作原理如下:版本标识或时间戳:在资源中引入一个版本标识(Version)或时间戳(Timestamp)字段,用于记录资源的修改版本或修改时间。读取资源:当一 ......
272
0
0
2024-01-19