原文链接:https://www.cnblogs.com/ysmc/p/18800819 C# 委托(Delegate) 介绍(摘至网络) 在 C# 中,委托(Delegate) 是一种类型安全的函数指针,它允许将方法作为参数传递给其他方法 C# 中的委托(Delegate)类似于 C 或 C++ ...
前言 该系统为个人独立编写测试,也算自己的孩子吧,虽然基础功能简单但是也为了大家能有个可以借鉴,可以改写的模版使用,我就写个博客让大家参考,但是拒绝搬运售卖。 * 正式介绍 该系统基于C#开发,使用Visual Studio 2022版的开发环境,数据库则是SQL Server Management ...
CustomTaskPanes.Add方法,它自动把任务窗格添加到当前的工作簿上去了。怎样才能将工作簿对象和任务窗格关联起来? 方法是: ThisAddIn.cs中创建一个字典管理任务窗格 private Dictionary<string, CustomTaskPane> _createdPane ...
原文链接:https://www.cnblogs.com/ysmc/p/18798097 C# 异步编程的好处 异步编程是C#中非常重要的特性,它能让你的程序更高效、更流畅。我来用简单的方式解释它的好处: 1. 七窍玲珑心 - "边敲代码边和女朋友通话" 同步代码就像你敲代码时必须双手离开键盘才能接 ...
C#1 //属性可以自动实现 public string Name{get; private set;} public static List<Product> GetSampleProducts() { return new List<Product>//列表直接初始化 { new Product ...
原为链接 https://www.cnblogs.com/ysmc/p/18794061 在上一个文章中,我们讲过 键控服务 服务,可惜的是这个需要 .NET 8 才能使用,那我们在 .NET 8 之前应该怎么找到我们需要的服务呢,本文给大家讲讲使用特性的方式 本人依旧秉承着短小精悍,废话不多,直接 ...
报表工具的核心是父子格扩展模型,通过父子格扩展模型实现各种类型报表,例如网格式报表、行式报表、主子报表、分组报表、交叉报表等。报表有三种扩展模型父子格扩展模型双父格扩展模型兄弟格扩展模型父子格扩展模型B7单元格是第7行所有其它单元格的父格,其它单元格随父格扩展,生成明显列表。双父格扩展模型B2单元格 ...
C#9.0是2020年发布的,record特性还没用上的可以看过来,一起讨论下。 下面通过一个简单的示例演示record带来的好处。 1. 通过一个示例引出问题 public class Person { public string Name { get; set } ... } public cl ...
将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片。此外,PDF文件还具有强大的安全特性,将图片转换为PDF后,我们可以通过设置密码来文件内容不被泄露。本文将介绍如何将JPG/PNG图片转换为PDF文档。 C# 将单张图片转换为PDF文档 C# 将多张图片转换到一个PDF文档 ...
在本主题的 上一篇文章里,给大家讲解了24位图像水平翻转(FlipX)算法。但该文章主要是为了介绍 YShuffleX3Kernel 的使用,该算法性能并不是最优的。于是本文将介绍如何使用 YShuffleX2Kernel 来优化程序。而且Imageshop在留言区给了一份C语言的、基于Sse系列指 ...
Word文档是日常办公和学习中不可或缺的一部分。比如在商务往来中,经常需要打印 Word 文档用于撰写和传递正式的商务信函、合作协议、项目提案等。打印出来的文档便于双方签字盖章,具有法律效力和正式性。本文将提供以下4种通过C# 打印Word文档的方法,以适应不同的场景需求。 C# 通过物理打印机打印 ...
一:背景 1. 讲故事 前面跟大家分享过一篇 C# 调用 C代码引发非托管内存泄露 的文章,这是一个故意引发的正向泄露,这一篇我们从逆向的角度去洞察引发泄露的祸根代码,这东西如果在 windows 上还是很好处理的,很多人知道开启一个 ust 即可,让操作系统帮忙介入,在linux上就相对复杂一点了 ...
1.两者的区别是什么? Docker 是一个开源的容器化平台,可以帮助我们快速构建、打包和运行应用程序。而 Docker Compose 则是用于管理多个容器应用的工具,可以轻松定义和管理多个容器之间的关系。 1.1 apt安装 - sudo apt update - apt install doc ...
一个非常强大的。net加密工具 高级。net代码保护和混淆技术 DNGuard HVM是一个。net混淆器和。net代码保护工具,可以防止代码的逆向工程。该工具实现了一种独特的代码保护技术,可以阻止攻击者利用高级代码篡改技术,例如从内存中转储程序集内容,从jit编译中捕获方法体。 官方网站DNG ...
一:背景 1. 讲故事 好久没写文章了,还是来写一点吧,今年准备多写一点 Linux平台上的东西,这篇从 C# 调用 C 这个例子开始。在 windows 平台上,我们常常在 C++ 代码中用 extern "C" 导出 C风格 的函数,然后在 C# 中用 DllImport 的方式引入,那在 Li ...
最新的英特尔® 酷睿™ Ultra 处理器(第二代)让我们能够在台式机、移动设备和边缘中实现大多数 AI 体验,将 AI 加速提升到新水平,在 AI 时代为边缘计算提供动力。英特尔® 酷睿™ Ultra 处理器提供了一套全面的专为 AI 定制的集成计算引擎,包括 CPU、GPU 和 NPU,提供高达... ...
1. 委托内部结构 委托类型包含三个重要的非公共字段: _target 字段 静态方法包装:当委托包装一个静态方法时,该字段为 null。 实例方法包装:当委托包装实例方法时,该字段引用回调方法所操作的对象。 _methodPtr 字段 标识委托要调用的方法。 _invocationList 字段 ...
1.Git,GitHub,GitLab的区别 Git是一个开源的分布式版本控制系统,用于敏捷高效第处理任何或小或大的项目。是Linus Torvalds 为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 Github是在线的基于Git的代码托管服务。GitHub是2008年由Rub ...
在现代的 Web 应用中,缓存是提升应用性能的关键组件。尤其是当应用频繁读取数据时,使用缓存可以显著减少数据库的负担并提高响应速度。缓存端模式(Cache-Aside Pattern)是一种常用的缓存策略,它可以帮助我们按需加载数据到缓存中。当缓存失效时,应用会从数据存储中加载最新的数据并更新缓存。 ...
概述 缓存击穿、缓存穿透、缓存雪崩这三个问题是Reids在实际项目中会经常遇到问题,同时,这三个问题也是面试的热点问题,下面,就本篇文章搞懂缓存穿透、缓存击穿、缓存雪崩三大问题的原因及解决方法。 Redis在项目中作为缓存中间件是如何工作的?如图所示 客户端发起一个查询请求的时候,首先去缓存中查询, ...