刷新
网站集成微信公众号(订阅号)登录

前一阵子,想着给我的站点集成一个微信登录,因为我之前从未有过微信相关的开发,所以我自己跟着网上的资料,一步一步的慢慢的摸索,过程不免的遇到了许多坑,才把我的网站微信登录集成完成,所以这里分享一下我的摸索的过程。因为我的是订阅号,所以一下的内容均针对订阅号而言的。 一、了解微信的交互流程 这里假设我们 ...

.NET最佳实践:避免滥用Task.Run

博主头像 在 C# 中,Task.Run 是用来在后台线程中执行异步任务的一个常见方法。 它非常适用于需要并行处理的场景,但如果不加以谨慎使用,可能会导致额外的线程池调度,进而影响程序的性能。 什么是线程池? 线程池是 .NET 中的一种优化机制,它通过复用固定数量的线程来减少线程创建和销毁的开销。 线程池中 ...

C# Winform 实现静态变量属性的值变了,触发事件,类似WPF的双向绑定

博主头像 在C# WinForms中,虽然没有像WPF那样内置的双向绑定机制,但你可以通过事件和属性封装来实现类似的功能。具体来说,你可以在静态属性的set访问器中触发一个自定义事件,然后在需要的地方订阅这个事件,以便在属性值发生变化时执行相应的操作。 全局状态的隐患 问题:静态类和静态事件引入了全局状态,这 ...

Avalonia系列文章之控件简介

博主头像 对于GUI(图形用户页面)程序来说,控件是创建用户页面的基本构建块,不同的控件代表不同的功能,如按钮,文本框,滑块等。在Avalonia UI中,了解控件的使用及其特性对于创建应用程序至关重要。 ...

底层开发必备技能:C#中的位运算

博主头像 底层开发必备技能:C#中的位运算 在编程的世界里,位运算是程序员掌握底层开发和优化性能的利器。对于那些需要处理二进制数据、优化算法或进行底层操作的开发者来说,理解并熟练使用位运算符是必不可少的技能。本文将详细介绍C#中的位运算符及其应用场景,帮助你更好地理解和运用这些强大的工具。 一、C#中的位运算 ...

.NET中优雅使用Patch: JsonPatch

博主头像 引言 在现代 Web API 开发中,我们经常需要对资源进行部分更新(Partial Update)。传统的 PUT 请求会要求发送整个对象,而 PATCH 请求可以仅发送需要更新的字段。ASP.NET Core 提供了 JsonPatchDocument<T> 来简化这一操作。 什么是 JsonP ...

C# 版本 6 新增特性

博主头像 C# 6.0 版 发布时间:2015 年 7 月 版本 6.0 随 Visual Studio 2015 一起发布,发布了很多使得 C# 编程更有效率的小功能。 以下介绍了部分功能: 静态导入 异常筛选器 自动属性初始化表达式 Expression bodied 成员 Null 传播器 字符串内插 ...

Brainfly: 用 C# 类型系统构建 Brainfuck 编译器

博主头像 Brainfuck 简介 Brainfuck 是由 Urban Müller 在 1993 年创造的一门非常精简的图灵完备的编程语言。 正所谓大道至简,这门编程语言简单到语法只有 8 个字符,每一个字符对应一个指令,用 C 语言来描述的话就是: 字符 含义 > ++ptr < --ptr + ++* ...

用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库控制舵机并多方法播放表情

博主头像 前言 前面两篇文章讲了.NET IoT相关的知识点,以及硬件的GPIO的一些概念,还有点亮两个屏幕的方法,这些让大家对.NET的用途有了新的认识,那我们这回继续讲解.NET IoT的知识点,以及介绍一些好玩的东西,例如让视频通过机器人的屏幕播放起来,还有机器人的身体也能通过我们的代码控制动起来。大家 ...

应用程序取得当前目录和退出

博主头像 如题c#获取当前运行应用程序所在目录和退出 前言 现在这浮躁社会,领导都是拍脑袋,大家都是图个短平快,压力进度给着,迫不得已在这种环境下大家都只能以搬砖的态度对待工作,都是用搜索引擎找 然后到处抄代码对吧。找了一片的方法,有AppDomain.CurrentDomain.BaseDirectory, ...

使用C#表达式进行以成员命名为锚点的数据转换

使用C#表达式进行以成员命名为锚点的数据转换 在软件开发中,有时因为某些原因如底层数据结构不可更改等需要将数据结构进行转换,这些数据类型之间没有继承关系,只有字段或属性名相同,往往需要手动编写数据转换代码,这样不仅繁琐,而且容易出错. 如果涉及到大量不同的类型转换,我们可以使用C#中的反射机制来转换 ...

在Asp.Net Core中高效封装BackgroundService

博主头像 一、封装背景与目标 在实际项目里,后台任务的执行模式丰富多样。有的任务需要确保上一次执行完成后,下一次才开始,以避免资源冲突和数据不一致;而有的任务则要求按照固定时间间隔周期性执行,即便前一次尚未结束。同时,对任务的监控、管理以及灵活配置也至关重要。我们封装BackgroundService的核心目 ...

<1···171819···50>