自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(288)
  • 资源 (92)
  • 收藏
  • 关注

原创 验证回文数Palindromic Number

本文探讨回文数及其“自身+反转数”迭代运算的收敛性。通过C#程序对1至300的整数进行测试,若50次内变为回文数则为“回归数”,否则视为“疑似无法回归数字”。结果显示,多数数可在数步内收敛,如56、59等,但196等数长期无法形成回文,引发数学界对“196猜想”的关注。

2026-09-14 11:17:11 247

原创 手搓C#【战争迷雾】迷宫逃脱小游戏(2):自适应单元格

<think>我们只需要根据给定内容生成摘要,不超过150字。内容是关于C#战争迷雾迷宫小游戏的优化,解决大单元格显示不全和连通性问题。摘要应抓住要点:优化单元格大小,改用先生成连通路径再随机开放分支的算法,避免暴力随机导致大迷宫不可达。需要简洁。</think>针对C#战争迷雾迷宫小游戏进行优化:动态调整单元格尺寸解决大迷宫显示不全;改用“先生成连通主路径,再随机开放分支”的算法,避免暴力随机在20×20以上地图中起点终点不连通的问题。

2026-09-01 15:27:25 172

原创 手搓C#【战争迷雾】迷宫逃脱小游戏

<think>我们只需要根据所提供的代码和描述,生成一个不超过150字的文章摘要。用户说“根据以下内容,生成≤150字的文章摘要”。内容是关于一个战争迷雾迷宫逃脱游戏的开发,包括规则、类、代码、窗体等。摘要要简洁,包括核心功能和技术实现。注意是“文章摘要”,不是代码摘要。要提取关键点:迷宫起点左上角终点右下角,有战争迷雾,玩家探索周围,用C# WinForms实现,提供迷宫生成和判断连通性,按键移动,图片显示玩家。总字数≤150。 需要生成一段文字,描述这个游戏。</think>该游

2026-09-01 14:02:47 213

原创 手搓C#Winform扫雷小游戏

扫雷规则:某个单元格的点击逻辑:【鼠标左键:点击单元格标记不是雷。鼠标右键:标记该单元格是雷】   ①鼠标左键:如果该单元格实际上是雷,则直接游戏结束。如果该单元格实际上不是雷,如果此前该单元格已标记为雷,移除PlayerMissiles的当前Position,PlayerMissiles显示九宫格内雷的数字。修改PlayerElement.IsMissile=false,玩家已扫雷个数减一。如果九宫格内雷的数字是零,就显示九宫格内的所有数字【显示空白连通器】  ②鼠标右键:标记该单元格是雷Playe

2026-08-26 21:47:36 210

原创 数学中的无理数与在计算机中表示异同

本文探讨了数学中的无理数与计算机表示之间的差异。数学上Sin(nπ)严格等于0,但由于计算机使用有限精度的浮点数(如double类型)存储无理数(如π),导致计算结果存在微小误差。文中通过C#程序演示了Math.Sin(n*Math.PI)在n≠0时输出非零值(虽然接近0),揭示了计算机只能用有理数近似表示无理数的本质。作者指出计算机数值比较应采用误差容限方法(如比较绝对值差),而非直接判等,并提供了正确比较正弦值的实现示例。这反映了数学无限精度与计算机有限存储之间的根本矛盾。

2026-08-07 16:55:33 219

原创 Python进阶(12):网络爬虫Request与Response

网络爬虫是一种自动抓取网络信息的程序,广泛应用于搜索引擎等领域。本文介绍了爬虫的基本原理,并以Python为例演示了三种HTTP请求实现方式:使用内置模块urllib发送GET/POST请求,通过第三方库urllib3进行请求管理,以及利用requests库获取网页信息(包括状态码、headers、cookies等)。示例代码展示了各方法的典型应用场景,如urllib处理表单提交、requests设置超时机制等,为网络数据采集提供了实用技术参考。

2026-08-01 15:41:51 1545

原创 开源C#代码解析Microsoft.CodeAnalysis解析代码块以及注释文本SyntaxTrivia

本文介绍了使用Roslyn编译器平台进行C#代码语法分析的方法。重点讲解了RoslynSyntaxParserUtil类的两个核心功能:1. 通过语法树精确识别代码中的花括号对(包括代码块、对象初始化器和匿名对象),避免字符串/注释中的花括号误判;2. 提取三种注释类型(单行//、多行/**/和文档注释///)。测试代码演示了如何解析示例代码中的12对花括号及其位置,并成功提取所有注释内容。相比传统文本分析,Roslyn能准确理解代码结构,是工业级代码分析的可靠选择。

2026-07-30 16:59:27 78

原创 C#语法分析,一段C#代码,通过Stack和索引来解析出所有花括号、中括号、小括号对,返回List<Tuple<int, int>>

本文介绍了使用C#实现代码符号配对解析的方法,重点展示了一个通用的ParsePairSymbol函数,用于解析代码中的成对符号(如花括号{}、中括号[]、小括号())。该方法利用Stack栈结构记录起始符号位置,通过遍历代码字符串匹配起始和结束符号,最终返回符号对的索引位置列表。文中提供了完整的实现代码和测试示例,包括异常处理(未匹配符号检测)以及结果输出展示。该解析器简单实用,但作者特别说明其存在局限性(无法处理注释和字符串中的符号),仅适用于教学演示目的。

2026-07-29 17:58:25 30

原创 C#语法分析,一段C#代码,通过Stack和IndexOf来解析出所有花括号{}对,返回List<Tuple<int, int>>

本文介绍了使用C#实现代码花括号{}解析的两个方案。基础方案通过Stack和IndexOf实现,能返回成对花括号的索引位置列表,但存在严重缺陷,无法区分注释和字符串中的花括号。改进方案建议使用Roslyn语法分析器,通过解析C#语法树准确获取代码块、对象初始化器等真实花括号对。文章还展示了测试代码和猜数字游戏示例,强调基础方案仅适用于学习Stack数据结构,生产环境应使用语法分析工具。AI辅助工具在代码优化和纠错方面显示出实用价值。

2026-07-25 17:02:01 70

原创 C#使用ScintillaNet开源控件自定义C#代码编辑器

本文介绍了使用ScintillaNet控件在C#中创建自定义代码编辑器的过程。主要内容包括:1)创建.NET 4.6.2窗体应用,通过NuGet安装Scintilla5和ScintillaLexers包;2)设计窗体界面并添加Scintilla控件;3)初始化编辑器功能,包括设置语法高亮(C#关键字、注释、字符串等不同颜色)、行号显示、书签功能、代码折叠等;4)配置编辑器外观,如背景色、字体、边距等;5)实现拖放文件打开功能。文章提供了完整的代码示例,展示如何创建一个支持C#语法高亮、带有丰富功能的代码编辑

2026-07-22 11:31:57 115

原创 使用mysqldump备份MySql数据库

本文介绍了使用mysqldump命令备份MySQL数据库的方法。首先通过cmd命令行窗口执行备份命令,格式为"mysqldump -u用户名 -p密码 数据库名 > 备份路径"。文中演示了两种备份方式:1)将lanwei数据库备份到E盘指定文件;2)使用日期变量生成带年月日时间戳的备份文件(格式为backup_yyyyMMdd.SQL)。特别说明日期变量的截取方法,并提示需确保系统日期格式为yyyy/MM/dd或类似标准格式,否则需要调整截取位置。备份前需确认目标目录已存在。

2026-05-15 14:04:00 87

原创 四胞胎素数:找出‌个位数分别是 1、3、7、9‌,且‌十位及更高位数字完全相同‌的质数,例如 11、13、17、19

四胞胎素数是指个位数分别为1、3、7、9且十位及以上数字相同的四个质数。研究发现,在10到10000范围内仅存在三组这样的组合:11/13/17/19、101/103/107/109和191/193/197/199。这些数的共同特征是:形式为10×a+d(a≥1,d∈{1,3,7,9}),且必须全部为质数。通过优化算法(如埃拉托色尼筛法)验证,排除了偶数和5的倍数,只需检查6k±1形式的数即可高效判断质数。该研究为特殊形式的素数分布提供了具体实例。

2026-05-11 13:48:46 214

原创 FFT快速傅里叶变换

快速傅里叶变换(FFT)是计算离散傅里叶变换(DFT)的高效算法,将计算复杂度从O(N²)降至O(NlogN),广泛应用于数字信号处理领域。本文通过C#实现FFT算法,包含FFT变换、逆变换及图形可视化功能。程序演示了实数/复数数组的FFT处理,使用MathNet.Numerics库进行快速计算,并展示了频谱分析结果。关键点包括:1)Cooley-Tukey分治算法实现;2)复数运算处理;3)频谱图形绘制;4)实际应用场景示例。该实现验证了FFT在信号分析中的高效性和实用性。

2026-04-11 16:36:54 475

原创 正规数(Normal Number)验证

摘要:本文探讨了2的幂次方(2^N)的十进制表示中数字0-9的分布规律。通过计算2^0至2^63的十进制数字统计发现,各数字出现频率接近10%,这与正规数(Normal Number)的定义相符——即数字随机均匀分布。实验使用C#程序统计了数字出现次数,结果表明随着N增大,各数字出现概率趋于均等,验证了2的幂次方可能具有正规数的特性。该研究为数论中正规数的理解提供了实证支持。

2026-04-10 16:53:12 145

原创 C#德州扑克梭哈游戏(2):牌型与点数比较

本文介绍了德州扑克游戏实现中的核心代码模块,主要包括: Player类:表示游戏玩家,包含玩家名称、庄家标识、手牌列表等属性,提供牌型判断和排序功能。其中Sort()方法实现了按点数倒序排列,点数相同时按花色排序的逻辑。 CommonUtil类:包含牌型判断的核心算法: 定义了52张扑克牌的字典映射(牌名→点数)和图片路径映射 实现了同花顺、四条、葫芦等9种牌型的判断方法 提供了两个玩家牌型比较的CompareCard方法,按照德州扑克规则比较牌型大小 ShowImageUtil类:负责在UI面板上展示玩家

2026-02-12 10:46:28 554 2

原创 C#德州扑克梭哈游戏(1):简介与初步枚举定义

牌型比较牌型:同花顺>铁支>葫芦>同花>顺子>三条>两对>对子>散牌牌点数:A>K>Q>J>10>9>8>7>6>5>4>3>2花色:黑桃>红桃>梅花>方片同花顺:连续牌点数并且同种花色。比如【黑桃9 黑桃10 黑桃J 黑桃Q 黑桃K】比较最大的牌点数,如果相同,比较花色铁支【四条】:四张同点数及一张任意牌,如黑桃4、红桃4、梅花4、方块4和梅花7。比较四张大小一样的牌的牌点数葫芦【满堂红】:三张同点数的牌加两张点数相同的牌任意牌,如JJJ+KK。比较三张大小一样的牌的牌点数同花:

2026-02-12 10:27:50 1512

原创 C#读写CAN的dbc文件

摘要:本文介绍了一个用于读写CAN总线DBC文件的C#窗体应用程序。DBC文件是CAN网络数据库文件,用于定义节点、报文和信号。程序实现了DBC文件的加载、解析和保存功能,包含信号类(Typedef_SG)和报文类(Typedef_BO)的定义。通过字典数据结构实现信号快速查找,支持通过信号名称反查对应的报文索引。测试用例展示了如何加载示例DBC文件并查询特定信号信息。该工具提供可视化界面,包括文件操作菜单、搜索功能和状态显示,适用于CAN总线通信开发中的DBC文件处理需求。

2026-01-31 11:05:43 737

原创 C#调用C++非托管代码时操作结构数组出现【尝试读取或写入受保护的内存。这通常指示其他内存已损坏。错误类型为:System.AccessViolationException】,使用Marshal

摘要:本文介绍解决C#调用C++代码时出现的System.AccessViolationException内存访问异常的方法。通过使用System.Runtime.InteropServices.Marshal进行内存管理,将结构体数组参数改为IntPtr类型,并重载DllImport方法。关键步骤包括:1) 计算结构体大小并分配连续内存;2) 使用AllocHGlobal分配非托管内存;3) 通过PtrToStructure解析数据;4) 最后确保释放内存。这种方法有效解决了在运动过程中偶尔出现的内存访问

2026-01-22 11:35:55 713

原创 C#验证拉马努金圆周率公式

印度数学家拉马努金在1914年提出了一个高效的圆周率计算公式,每计算一项可获得8位十进制精度。该程序实现了拉马努金公式,通过阶乘计算和级数求和来逼近π值。由于double类型的精度限制,实际计算结果存在一定误差。程序展示了k=0到7时的计算结果,包括中间反比例值和最终π值。核心算法包含阶乘计算函数和逐项累加过程,验证了这一著名数学公式的计算效果。

2025-12-06 18:09:28 575

原创 C#进行CAN【控制器局域网】通讯

CAN总线通信系统设计与实现 摘要: 本文介绍了一个基于C#的CAN总线通信系统设计方案,采用Peak公司的PCANBasic.NET接口实现硬件通信功能。系统具备以下主要功能:1) 支持多种波特率配置,实现CAN设备连接与管理;2) 提供消息收发功能,支持标准帧格式;3) 内置信号解析引擎,可自定义信号解析规则;4) 实时数据显示功能,包括网格视图和动态图表;5) 数据记录功能,支持CSV格式导出。系统采用多线程架构处理实时数据,通过MVC模式实现界面与逻辑分离,适用于汽车电子、工业控制等领域的CAN总线

2025-11-20 15:12:55 921

原创 ModbusRtu读取和写入一个寄存器示例

摘要: 本文介绍了基于C#实现的Modbus RTU串口通信工具开发。Modbus RTU是一种广泛应用于工业自动化的串行通信协议,采用主从架构,支持RS232/RS485接口。文章详细解析了读取(03H)和写入(06H)寄存器的报文格式,并提供了C#窗体应用程序的实现代码,包括串口配置、数据收发处理、CRC校验等功能。程序实现了基本的寄存器读写操作,采用事件驱动方式处理拆包粘包问题,具有报文显示和超时检测功能,可作为一个简易的Modbus RTU调试工具使用。

2025-11-15 11:25:00 811

原创 C#使用Chart图表控件实时显示运动坐标

摘要:本文介绍了使用C# Chart控件实时显示圆形运动轨迹的实现方法。通过将圆方程x²+y²=100等分为32个点,利用三角函数计算坐标点(radiuscosθ,radiussinθ)。程序包含窗体应用和辅助类CncGlobal,其中CncGlobal负责轨迹点计算和事件处理,窗体FormShowGlueTrack通过Chart控件展示轨迹,并提供开始/停止显示、清除轨迹等功能。关键点包括:设置Chart控件的等比例坐标轴、定时刷新机制(100ms间隔)和轨迹点限制(最多300个点)。测试按钮可验证圆轨迹

2025-11-11 11:57:09 673

原创 Python进阶(11-2):Python游戏编程-FlappyBird

《Flappy Bird游戏开发概述》摘要: Flappy Bird是一款由越南开发者阮哈东创作的经典休闲游戏,以其简单操作和高难度著称。游戏核心包含两个类:Bird类处理小鸟状态(飞行/跳跃/死亡)、位置和重力物理;PipeLine类负责管道障碍物。示例代码展示了游戏初始化、小鸟跳跃力学(速度递减)及基本画面渲染。游戏采用Pygame框架开发,运行帧率60FPS,包含背景图和小鸟三种状态(正常/红色/死亡)。开发重点在于物理模拟与碰撞检测的实现。

2025-10-24 19:57:31 223

原创 Python进阶(11):Python游戏编程

Python可通过Pygame模块进行游戏开发,该模块简化了底层处理,开发者可专注游戏逻辑实现。安装方法:在Pycharm终端输入"pip install pygame"。示例程序演示了基础功能:创建窗口、加载图片、实现小球反弹效果,包含事件处理、碰撞检测和画面更新等核心机制。程序通过pygame.init()初始化,设置时钟控制帧率,使用事件循环处理退出操作,并实现了简单的物理碰撞效果。该案例展示了Pygame在2D游戏开发中的基础应用流程。

2025-10-10 16:28:57 399

原创 Python进阶(10):GUI图形用户界面

本文介绍了Python中使用wxPython框架开发GUI图形用户界面的基础知识。主要内容包括:1)GUI程序三要素(输入、处理、输出);2)wxPython核心组件(App应用程序类、Frame框架类);3)常用控件(StaticText、Panel、TextCtrl、Button等)的使用方法;4)BoxSizer布局管理;5)事件绑定与处理机制。文中通过一个完整的Snake程序示例,演示了如何创建窗口、添加控件、处理按钮点击事件等基本操作,实现了一个包含文本框输入和按钮交互的简单GUI应用。该示例展示

2025-09-26 10:04:52 877

原创 Python进阶(9-2):Sqlite数据库操作

这里使用Sqlite数据库Sqlite数据库不是一个客户端-服务器结构的数据库引擎,而是一种嵌入式数据库,它的数据库就是一个文件,一般以.db作为后缀。sqlite最佳使用就是本地数据库,比如微信聊天记录就是存储在sqlite本地数据。sqlite不适用于数据较多的场景,也不适合于局域网之间进行交互的数据库。在Python中,内置了sqlite3,使用sqlite时,不需要安装任何模块,直接使用即可。在Mysql数据库操作上,仅做少许改动即可示例程序SqliteSnake.py

2025-09-21 16:18:57 263

原创 Python进阶(9):数据库操作

数据库操作数据库database用于将数据保存到磁盘上,为了便于程序保存和读取数据,而且能直接通过条件快速查询到指定的数据,就出现了数据库【Database】这种专门用于查询和存储的软件,以及一种通用的编程语言SQL。数据库连接对象(Connection Object)主要提供获取数据库游标【Cursor】对象和提交-回滚事务的方法,以及关闭数据库连接。游标对象:游标对象(Cursor Object)代表数据库中的游标,用于指示抓取数据库操作的上下文,主要提供执行sql语句,调用存储过程,获取查询结果

2025-09-21 15:40:55 949

原创 Python进阶(8):文件与目录操作

本文介绍了Python中文件与目录操作的基本方法。通过open()函数可创建文件对象进行读写操作,支持多种模式(r/w/a/b等)。使用with语句可自动管理文件资源。文件内容可通过read()、readline()等方法读取,write()方法写入。目录操作需借助os和os.path模块,包括创建/删除目录(mkdir/rmdir)、遍历目录(walk)、获取文件信息(stat)等。文章还演示了路径拼接、递归创建目录、文件重命名等实用功能,并提供了完整的示例代码展示如何获取文件属性信息(大小、创建时间等)

2025-09-21 09:49:53 990

原创 Python进阶(7):异常处理

Python异常处理机制简介:文章介绍了Python中常见的异常类型及处理方法,包括try-except语句捕获异常、try-except-else语句处理无异常情况、try-finally语句确保资源释放等。通过数学运算示例(如开平方、除法运算)演示了异常捕获过程,并展示了如何使用raise主动抛出异常,以及如何自定义异常信息。文章还提供了异常处理流程图,帮助理解程序执行流程。最后通过反正弦计算示例,说明了异常处理在实际编程中的应用。

2025-09-14 16:52:27 665

原创 祖冲之割圆术获取圆周率,获取第一个正N边行的周长除以直径的比率大于3.14

中国古代数学家通过割圆术计算圆周率,该方法利用圆内接正多边形逼近圆面积。魏晋数学家刘徽在《九章算术注》中系统提出这一方法,通过倍增边数使多边形周长接近圆周长。公式π=N×sin(π/N)展示了计算原理。现代C#程序验证发现,正57边形周长比首次超过3.14,正9820边形才超过3.1415926。祖冲之在南北朝时期将π精确到小数点后7位,展现了古代数学家的惊人计算能力和毅力。这一成就体现了中国古代数学的重要突破。

2025-09-10 09:42:23 949

原创 Python进阶(6-2):模块Modules

本文介绍了Python模块的基本概念和使用方法。重点讲解了内置标准模块shutil、os、re的功能,以及模块的__name__属性作用。通过math和random模块的实例演示,展示了如何计算三角函数、生成随机验证码。文章还对比了import和from..import两种导入方式的区别,并解释了顶级模块__name__值为"main"的特性。最后给出了一个生成8位随机验证码的完整示例代码,包含大小写字母和数字的随机组合。

2025-08-28 14:27:26 373

原创 Python进阶(6):模块Modules

Python模块是扩展名为.py的文件,类似于命名空间,用于组织代码、避免命名冲突并提高复用性。创建模块时需注意命名规范,通过import或from...import语句导入模块内容。包(Package)是包含__init__.py文件的目录,用于组织模块并解决模块名冲突问题。导入方式包括完整包名导入、from导入和直接导入定义。每个模块都有__name__变量,值为"main"时表示直接运行。示例展示了矩形和圆形计算模块的创建与使用,演示了模块化编程的优势。

2025-08-11 17:42:20 1028

原创 C#获取图像指定像素位置的颜色

本文介绍了使用.NET Framework中System.Drawing.Bitmap类的GetPixel方法获取图像指定像素颜色值的技术方案。通过密封类Bitmap的GetPixel(int x, int y)方法,开发者可以精确获取图像任意坐标位置的Color结构体,包含RGB分量及透明度等属性。文中详细说明了位深度(BitDepth)原理,并提供了Windows窗体应用示例代码,演示了实时获取鼠标位置对应像素颜色信息的功能实现,包括显示RGB值、透明度及HSL色彩空间转换等特性。该技术适用于图像处理、

2025-08-09 12:13:04 636

原创 光标Cursor

CUR文件是静态光标格式,其结构与ICO图标文件相同但包含热点坐标标记点击位置。核心特点包括:1) 使用PE文件规范,含图像数据和透明掩码区;2) 热点坐标默认左上角,可自定义;3) 与ANI动态光标共享单帧结构。开发中可通过Cursor类加载,如游戏《古剑奇谭》通过代码动态切换自定义光标。制作工具如Microangelo支持PSD/JPG转CUR格式,但需注意高分辨率光标在低配设备可能闪烁。实际应用需处理多线程UI更新和热点位置逻辑。

2025-08-05 18:59:52 1603

原创 Python进阶(5):类与继承

Python支持多继承,通过继承可以实现代码重用和类关系管理。定义子类时在类名后括号内指定多个父类即可实现多继承。子类可重写父类方法,若需调用父类初始化方法需使用super()函数。示例中Biology和Animal类被Dog类多重继承,Cat类单继承Animal并调用父类初始化。多继承机制使Python类设计更加灵活,能够实现复杂的功能组合。

2025-08-02 16:38:15 498

原创 C#将【程序集引用-依赖关系】展示到NetronLight图表中

本文介绍了如何在C#中将程序集引用关系可视化展示到NetronLight图表中。主要实现功能包括:1)修改NetronLight.SimpleRectangle的Paint事件使文本居中显示;2)创建FormShowAssemblyDependent窗体,包含树形视图和图表控件;3)递归获取程序集依赖关系并在树形视图中展示;4)根据节点层级在图表中生成矩形节点并自动布局;5)为存在引用关系的节点添加连接线。关键点包括计算文本宽度实现居中对齐、层级节点分组处理、自动布局算法以及引用关系连线处理。通过这种方式可

2025-07-18 17:28:57 410

原创 Python进阶(4):类与面向对象程序设计

摘要:面向对象编程(OOP)以对象为核心,对象具有唯一性,包含属性和行为。Python中一切都是对象,类(class)是封装对象属性和行为的载体,通过实例化(Instance)创建对象。OOP三大特征包括:封装(隐藏实现细节)、继承(复用父类特性)和多态(子类差异化实现)。类定义使用class关键字,init()方法类似构造函数,self参数代表实例本身。成员分为类属性和实例属性,访问控制通过下划线前缀实现(private/protected)。@property装饰器可将方法转为只读属性,并添加安全约束。

2025-07-14 17:02:36 853

原创 C#使用Roslyn框架编译器和代码分析(3):提取方法:某一个方法是否调用另一个方法

摘要:本文介绍了如何使用Roslyn框架分析C#代码中方法间的调用关系。通过创建部分类Program.Partial.cs,实现了一个IsCalledOtherMethod方法,该方法可以检测指定方法是否调用了另一个目标方法。该方法首先获取语法树中所有方法声明节点,然后查找指定方法内部的所有调用表达式,最后通过标识符匹配判断是否存在目标方法的调用。测试案例展示了该方法的使用方式,通过读取外部代码文件进行调用关系验证,并输出检测结果。该方法适用于代码分析和重构场景,能有效识别方法间的依赖关系。

2025-07-11 10:52:37 309

原创 C#将树图节点展示到NetronLight图表中

摘要:本文介绍了使用C#开源框架NetronLight将TreeView树形结构节点可视化展示为流程图的方法。通过创建窗体应用程序,添加NetronLight项目引用并扩展其GraphControl控件功能,实现了树节点到流程图的转换。重点演示了如何按节点层级组织布局、生成形状节点以及建立父子节点连线关系,最终将地理行政区划树形数据以层次化流程图形式呈现。项目代码包含树形数据生成、节点深度计算、形状节点定位和连线处理等核心功能模块。

2025-07-10 11:17:45 472

原创 C#使用MindFusion.Diagramming框架绘制流程图(4):为图表增加布局Layout

摘要:本文介绍了使用MindFusion.Diagramming框架实现加权图最短路径算法及多种布局方式的C#解决方案。文章详细说明了如何通过Layout基类派生不同布局样式(包括流程图、树形、分层、环绕等7种布局),并通过FormDijkstraDiagram窗体实现迪杰斯特拉算法计算节点间最短路径。代码展示了节点初始化、边连接、最短路径计算及可视化布局切换功能,其中特别演示了泳道布局和三角形布局两种典型效果。该实现通过下拉框切换不同布局方式,为加权图的可视化分析提供了灵活多样的展示方案。

2025-07-05 16:24:45 607

NumberToChineseDemo

/// <summary> /// 数字与中文描述转化示例 /// </summary> public class NumberChineseTranslateUtil { /// <summary> /// 中文字符描述集合 /// 十索引为10 /// 百索引为11 /// 千索引为12 /// 万索引为13 /// 亿索引为14 /// </summary> static readonly char[] ChineseCollection = new char[] { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十','百','千','万','亿' }; /// <summary> /// 数字转中文 /// 按照【个、十、百、千、万、亿】 /// 只考虑正整数和

2022-03-24

根据运算符的优先级,依次添加到堆栈中 /// 最终返回的列表不存在左右小括号,只有数字 以及 加减乘除运算符

StackCalculateUtil RecursionCalculateUtil 使用递归,计算含有小括号,加减乘除的表达式 /// 1.查找小括号,然后依次消去所有的小括号,此时表达式没有小括号 /// 2.进行乘除运算 /// 3.最后进行加减运算

2022-03-21

AutoSaveTreeNodeDataDemo

private void tvMesInterface_AfterSelect(object sender, TreeViewEventArgs e) { ReadConfig(e.Node.Text); //记录选中的节点 LastSelectedNode = e.Node; } /// <summary> /// 内部成员变量标记,确保BeforeSelect事件不会多次触发 /// </summary> bool inside = false; private void tvMesInterface_BeforeSelect(object sender, TreeViewCancelEventArgs e) { if (!inside) { inside = true;

2022-03-04

C#常见位操作 与或非 BitOperation

Console.WriteLine($"与(&)操作符的位都为1时,才为1,其他都为0,因此与(&)操作符的结果范围在[0, Math.Min(x,y)],x,y均为正整数"); Console.WriteLine($"或(|)操作符的位都为0时,才为0,其他都为1,因此或(|)操作符的结果范围在[Math.Max(x,y), x+y],x,y均为正整数"); Console.WriteLine($"非(~)操作符按位取反,1转化为0, 0转化为1,因此非(~)操作符满足[x+~x=-1]一个数与其取反操作之和为-1"); Console.WriteLine($"异或(^)操作符的位不同时为1, 位相同时为0"); Console.WriteLine($"左移(<<)操作符:【最左侧位不要,在最右侧补0】,相当于乘以2个N次方,【移位是除以32后的余数,范围[0,31],即以32为一个周期】"); Console.WriteLine($"右移(>>)操作符:【最右侧位

2022-03-05

AutoGetFileTypeDemo.rar

自动获取真实文件类型

2022-01-06

InovancePlcDemo.rar

汇川PLC的Modbus测试Demo

2021-09-08

OmronFinsDemo.rar

OmronFins TCP通信,使用C#

2021-11-16

Base64ConsoleDemo.rar

Console.WriteLine($"比较 手动转化 与 调用系统函数转化 Base64结果:【{base64Custom == base64Auto}】"); Console.WriteLine($"比较 手动还原 与 调用系统函数还原 Base64结果:【{srcCustom == srcAuto}】");

2021-12-11

MazeDemoConsole.rar

迷宫控制台

2021-12-15

TrainPathBookingDemo.zip

多人抢火车票模拟器

2021-12-26

modbus协议报文分析_汇川PLC.docx

Modebus报文详解 0x03 读取多个类型寄存器 0x10写多个连续寄存器

2021-09-04

Base64EncoderDemo.rar

Base64属于简单加密算法的一种。类似于凯撒密码【它是一种替换加密的技术】 Base64字符串由65个字符组成, 大写字母A~Z, 小写字母a~z, 数字0~9,以及三个特殊字符+、/、= 【=“等号”用于补充字符,使Base64字符串长度变成4的倍数】

2021-12-10

MazeTest.rar

迷宫

2021-12-15

BIndDataDemo.zip

DataGridView数据绑定 刷新,多行数据

2021-11-07

MultiThreadMySqlDemo.rar

读写mysql数据库测试

2021-10-10

WorkOrderDemo.rar

工单混料生产方案

2021-09-12

软件打包安装工具.rar

软件打包安装工具

2021-10-15

DeviceStatusDemo.rar

设备状态监控DeviceStatusDemo, 保存到本地sqlite数据库中

2021-08-07

QRCodeDemo.rar

生成二维码与解析二维码

2021-07-02

CommonFormDesignerDemo.rar

统一列表界面和编辑界面,只使用两个界面即可实现 增删改查 某个表单 DataGridViewConf_Form.xls AutoGenerateUtil.cs NpoiExcelOperateUtil.cs

2021-05-09

手搓C#战争迷雾迷宫逃脱小游戏(2):自适应单元格

优化后的效果

2026-09-01

手搓C#战争迷雾迷宫逃脱小游戏

手搓C#【战争迷雾】迷宫逃脱小游戏,有示例图片

2026-09-01

C#获取图像指定像素位置的颜色

C#获取图像指定像素位置的颜色

2025-08-09

光标鼠标CursorDemo

光标鼠标Cursor。 public static extern bool SetCursorPos(int x, int y); Cursor cursor = new Cursor(files[i]); RefreshUI(this, () => button.Cursor = cursor);

2025-08-05

C#使用文件读写操作实现仙剑五前传称号存档修改

C#使用文件读写操作实现仙剑五前传称号存档修改

2025-02-15

C#树图显示目录下所有文件以及文件大小

C#树图显示目录下所有文件以及文件大小

2025-01-21

C#使用MVC框架创建WebApi服务接口

C#使用MVC框架创建WebApi服务接口

2025-01-07

使用DataGridView来实现的工步跳转

使用DataGridView来实现的工步跳转

2024-12-31

C#使用MQTT测试,客户端和服务端

C#使用MQTT测试

2024-09-04

C#使用GDI对一个图像Image进行任意角度旋转

C#使用GDI对一个图像Image进行任意角度旋转

2024-08-14

使用GDI画图片生成合成图片并调用打印机进行图片打印

使用GDI画图片生成合成图片并调用打印机进行图片打印

2024-02-06

使用netdxf(C#)框架实现dxf文件读取与导出坐标

使用netdxf(C#)框架实现dxf文件读取与导出坐标

2024-01-12

C#使用随机数模拟英雄联盟S13瑞士轮比赛

C#使用随机数模拟英雄联盟S13瑞士轮比赛

2023-11-05

获取中文词组的汉语拼音首字母拼接

GBK汉字拼音对照表

2023-09-17

SaveDefaultXmlConfigDemo.rar

C#读写应用程序配置文件App.exe.config,本质是xml文件的读写。 我们将配置文件的AppSettings节点和ConnectionStrings节点内容自动绑定到分组框控件GroupBox中,同时可以批量保存。

2022-06-29

C#使用GDI绘制九宫格

C#使用GDI绘制九宫格 DrawDiagramUtil.GenerateEightDiagramSymbol(panel8, "坎一", 2, Color.Green); DrawDiagramUtil.GenerateEightDiagramSymbol(panel3, "坤二", 0, Color.Red); DrawDiagramUtil.GenerateEightDiagramSymbol(panel4, "震三", 1, Color.Red); DrawDiagramUtil.GenerateEightDiagramSymbol(panel1, "巽四", 6, Color.Yellow); DrawDiagramUtil.GenerateFiveCenter(panel5, "中宫五"); DrawDiagramUtil.GenerateEightDiagramSymbol(panel9, "乾六", 7, Color.Green);

2022-05-24

九宫格与EightDiagram的画图GDI

九宫与方位 DrawDiagramUtil.GenerateEightDiagramSymbol(panel8, "坎一", 2, Color.Green); DrawDiagramUtil.GenerateEightDiagramSymbol(panel3, "坤二", 0, Color.Red); DrawDiagramUtil.GenerateEightDiagramSymbol(panel4, "震三", 1, Color.Red); DrawDiagramUtil.GenerateEightDiagramSymbol(panel1, "巽四", 6, Color.Yellow); DrawDiagramUtil.GenerateFiveCenter(panel5, "中宫五"); DrawDiagramUtil.GenerateEightDiagramSymbol(panel9, "乾六", 7, Color.Green);

2022-05-16

西西弗斯黑洞【123数字黑洞】 卡普雷卡尔黑洞(重排求差黑洞):三位数黑洞495

西西弗斯黑洞【123数字黑洞】 /// ​设定一个任意数字串,数出这个数中的偶数个数,奇数个数,及这个数中所包含的所有位数的总数 /// 比如86420135799,按照偶数个数5,奇数个数6,数字总个数11,拼接成一个新的整数 5611 /// 然后依次转化为134,然后转化为123结束 卡普雷卡尔黑洞(重排求差黑洞):三位数黑洞495 /// 三个0~9之间的数字【不能完全相同】组成的三位数的最大值 减去 最小值,获取一个【差值】新三位数(不够就补0) /// 对三位数继续计算最大值 和 最小值,最终差值(终结黑洞值)为495

2022-05-04

FixedDemo C# fixed

使用fixed指针修改内存的值,不能使用fixed关键字获取结构的地址, 坐标,fixed关键字不能获取已固定的表达式的地址 /// 因此fixed不能获取结构struct的地址

2022-04-04

使用循环【迭代】来进行转化数字为中文

/// <summary> /// 对【0000~9999】之间的数字进行迭代解析成中文 /// 类似于除基取余法 /// </summary> /// <param name="multiple">倍率</param> /// <param name="number">需要解析的数字</param> /// <returns></returns> private static string GetChinese(int multiple, int number) { if (number == 0) { return ChineseCollection[0].ToString(); } string chinese = string.Empty; int quotient = 0;//商

2022-03-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除