
C#
文章平均质量分 84
csdn_aspnet
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C# 求梯形面积的程序(Program to find area of a Trapezoid)
摘要:梯形是至少有一对平行边的凸四边形,平行边称为底边,其他两边为腿。其面积公式为(底边1+底边2)/2×高。示例计算显示,当底边分别为8和10,高为6时,面积为54。文中还提供了C#代码实现该计算,时间复杂度为O(1)。(99字)原创 2025-07-29 09:01:58 · 464 阅读 · 0 评论 -
C# 计算梯形面积和周长的程序(Program to calculate area and perimeter of Trapezium)
摘要:梯形是具有一对平行边(底边)的四边形,其他两边为腰。其面积公式为(上底+下底)×高÷2,周长为四边之和。文中提供了C#代码实现梯形面积与周长的计算,包括示例输入输出(如a=5,b=15,c=11,d=4,h=20时,面积为200,周长为35)。算法的时间与空间复杂度均为O(1)。该程序通过简单数学运算快速求解梯形参数,适用于几何计算场景。原创 2025-07-21 09:35:02 · 779 阅读 · 0 评论 -
C# 平行四边形周长计算程序(Program for Circumference of a Parallelogram)
摘要:本文介绍了如何计算平行四边形的周长。平行四边形对边长度相等且平行,其周长公式为(2a)+(2b)。文中提供了C#代码示例,计算边长a=10、b=8时的周长为36.0,并说明该算法的时间复杂度和辅助空间均为O(1)。该方法简单高效,适用于任何平行四边形周长的计算。原创 2025-07-14 09:30:59 · 512 阅读 · 0 评论 -
C# n条水平平行线与m条垂直平行线相交的平行四边形的数量
摘要:文章探讨了计算n条水平平行线与m条垂直平行线相交时能形成的平行四边形数量问题。通过组合数学方法,指出形成平行四边形需要选择两条水平线和两条垂直线,数量分别为nC2和mC2的组合数乘积。给出了两种C#实现方案:第一种使用动态规划计算组合数(时间复杂度O(n²)),第二种直接应用数学公式n(n-1)m(m-1)/4(时间复杂度O(1))。示例显示当n=m=5时输出结果为100。两种方法都验证了该数学模型的正确性。原创 2025-07-07 09:29:14 · 1028 阅读 · 0 评论 -
C# 角度扫描(给定半径的圆内可以包含的最大点数)
本文介绍了求解二维平面中给定半径圆内最多包含点数的算法。核心问题是在n个点中找到能被半径为R的圆包围的最大点数(圆周上的点也计入)。文章对比了朴素算法(O(n³))和优化的角度扫描算法(O(n²logn))。角度扫描算法通过以每个点P为中心旋转圆,计算其他点的进出角度,维护计数器获得最大值。提供C#实现代码,包含复数运算和角度处理逻辑。算法时间复杂度为O(n²logn),空间复杂度O(n),适用于大规模点集。文中给出示例输入输出验证算法正确性。原创 2025-06-30 09:16:12 · 722 阅读 · 0 评论 -
C# 高效加载txt文件内容
C#提供了多种高效读取TXT文件的方法:对于小型文件可使用File.ReadAllText一次性读取或File.ReadAllLines按行读取;处理大文件推荐使用StreamReader逐行读取以节省内存;需要底层控制时可结合FileStream使用。选择方法时应考虑文件大小和性能需求,小文件适合简单读取,大文件建议流式处理。通过合理选择这些方法,可以优化文件读取效率和内存使用情况。原创 2025-06-27 09:00:00 · 831 阅读 · 0 评论 -
C# .NET Framework 中的高效 MQTT 消息传递
摘要:本文介绍了轻量级通信协议MQTT及其在.NET中的实现。MQTT是一种高效的消息传递协议,具有低带宽、高可靠性等特点,适用于物联网等资源受限场景。文章详细讲解了在.NET项目中通过NuGet安装M2Mqtt包的步骤,并提供了完整的客户端代码示例,包括连接代理、订阅主题和处理消息的实现方法。最后对比了HiveMQ、RabbitMQ、Kafka和MQTT的适用场景,强调MQTT在低带宽环境中的优势。通过实际代码演示,帮助开发者快速掌握MQTT在.NET中的应用。原创 2025-06-26 09:11:10 · 1104 阅读 · 0 评论 -
C# 找到最小半径 使得至少k个点位于圆内(Find minimum radius such that atleast k point lie inside the circle)
本文提出两种算法求解包含至少k个点的最小圆半径问题。第一种方法通过计算各点到圆心的距离平方并排序,直接取第k小的距离,时间复杂度O(nlogn)。第二种采用二分查找法,在[0,最大点距]范围内搜索最小半径,每次检查是否存在包含k个点的圆,时间复杂度O(n²logr)。两种方法均以C#实现,示例显示输入点集{(1,1),(-1,-1),(1,-1)}在k=3时输出最小半径平方为2。第一种方法空间复杂度O(n),第二种为O(1)。文章比较了两种算法的效率差异,适用于不同场景的需求。原创 2025-06-23 09:39:30 · 961 阅读 · 0 评论 -
C# 正方形外接圆的面积(Area of a Circumscribed Circle of a Square)
摘要:已知正方形边长a,其外接圆面积公式为(πa²)/2。推导过程:外接圆半径等于正方形对角线的一半,而对角线长为a√2,故半径r=(a√2)/2。代入圆面积公式πr²得到(πa²)/2。示例:当a=6时,面积≈56.55;a=4时≈25.13。该算法时间复杂度为O(1),实现简单高效。(98字)原创 2025-06-16 09:38:00 · 739 阅读 · 0 评论 -
使用 C# 源生成器(Source Generators)进行高效开发:增强 Blazor 及其他功能
摘要:.NET源生成器通过编译时静态代码生成显著提升开发效率和性能。本文探讨了其在Blazor中的四大优势:自动化重复代码、性能优化、生产力提升和代码一致性保障,并展示如何自动生成表单组件。源生成器同样适用于API客户端生成、数据库集成等场景。虽然存在学习曲线和调试挑战,但它仍是.NET生态中提高开发效率的关键技术,特别推荐在Blazor和复杂项目中使用。原创 2025-06-14 09:04:14 · 1273 阅读 · 0 评论 -
C# .NET Core 源代码生成器(dotnet source generators)
本文介绍了.NET中的增量源生成器(IncrementalGenerator)及其应用。源生成器允许开发者在编译时分析用户代码并动态生成附加代码,从而减少样板代码并优化性能。文章详细阐述了如何创建包含三个项目的解决方案(源生成器库、共享库和Web API项目),配置项目文件,以及实现一个简单的计算器类方法生成器。通过实例展示了如何处理错误日志记录、命名空间解析等问题,并最终验证生成的代码能正确执行。源生成器适用于代码生成但不适合修改现有代码或添加语言功能,是提升开发效率的有力工具。原创 2025-06-13 09:00:49 · 3373 阅读 · 0 评论 -
C# .NET Core Source Generator(C# .NET Core 源生成器)
本文介绍了C#源生成器的工作原理和应用场景。源生成器作为编译时插件,能够自动生成代码以减少重复工作、提升性能并实现新的编程模式。文章详细讲解了源生成器的两个核心组件:ISyntaxReceiver负责收集过滤语法节点,ISourceGenerator负责生成代码。通过具体示例演示了如何创建自定义源生成器项目,包括实现语法接收器、源生成器逻辑以及将生成器作为分析器引用。源生成器特别适用于减少样板代码、性能优化、实现特定编程模式等场景,可显著提高开发效率和代码质量。原创 2025-06-12 09:55:58 · 3803 阅读 · 0 评论 -
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,圆的面积可以通过公式“面积=PIrr”计算,其中PI取值为3.14159265358979323846。计算结果需精确到小数点后5位。例如,当r=5时,面积为78.53982;当r=2时,面积为12.56637。示例代码展示了如何使用C#语言实现这一计算,并输出结果。该算法的时间复杂度和辅助空间均为O(1),效率高且不占用额外空间。原创 2025-06-09 09:20:54 · 4444 阅读 · 0 评论 -
C# 中替换多层级数据的 Id 和 ParentId,保持主从或父子关系不变
在C#中替换多层级数据的Id和ParentId,同时保持父子关系不变,可以通过以下步骤实现:首先,创建一个字典来映射旧Id到新Id,确保新Id唯一。然后,遍历所有节点,使用映射表更新每个节点的Id,并将ParentId替换为对应的新Id。示例代码展示了如何实现这一过程,包括生成新Id、替换Id和ParentId,并输出结果验证。关键点包括:使用字典记录旧Id与新Id的对应关系,确保新Id唯一;先生成所有新Id后再进行替换,避免依赖顺序问题;处理根节点时,ParentId为null时无需处理,保持其不变。此方原创 2025-06-07 09:18:11 · 7899 阅读 · 0 评论 -
C# 实现对象的深浅拷贝的三种方式代码示例
在C#中,对象的拷贝分为浅拷贝和深拷贝。浅拷贝仅复制对象的字段,对于值类型,副本的修改不会影响原对象;但对于引用类型,副本的修改会影响原对象,因为两者共享同一引用。深拷贝则不同,它会递归复制对象及其所有引用对象,确保副本和原对象完全独立。深拷贝可以通过序列化、反射或表达式树实现,其中表达式树的性能最优。序列化实现简单但性能较差,反射性能中等,表达式树性能最佳但实现复杂。选择哪种方式取决于具体需求和性能要求。原创 2025-06-06 10:08:21 · 11013 阅读 · 0 评论 -
C# 快速高效率复制对象另一种方式 表达式树
在编程中,复制对象或属性值是一个常见需求。传统方法如手动赋值、反射和序列化虽然可行,但存在效率低或代码冗余的问题。本文提出使用表达式树技术来优化这一过程。通过构建和编译表达式树,可以动态生成高效的属性复制逻辑,且首次编译后结果可缓存,大幅提升性能。测试显示,表达式树方法在处理大量数据时,耗时远低于反射和序列化,且代码更为简洁。此外,利用泛型特性进一步优化,使得表达式树方法在效率和代码可维护性上均表现出色。总之,表达式树是一种高效且优雅的对象复制解决方案。原创 2025-06-05 10:08:04 · 10833 阅读 · 0 评论 -
C#使用表达式树实现对象复制的示例代码
本文介绍了如何通过表达式树优化C#中的对象复制性能,并支持跳过引用类型的null值复制以及值类型向可空类型的复制。通过使用FastCopy类,开发者可以高效地复制对象的同名属性值。文章提供了示例代码,展示了如何通过表达式树生成属性复制委托,并对比了不同实现方式的性能差异。优化后的代码在百万次调用中耗时约100ms,显著提升了性能。该方法适用于需要频繁进行对象复制的场景,能够有效减少资源消耗。原创 2025-06-05 09:16:06 · 10586 阅读 · 0 评论 -
C# 检查一条线是否与圆接触或相交(Check if a line touches or intersects a circle)
给定一个圆的圆心坐标、半径以及一条直线的方程,可以通过计算圆心到直线的垂直距离来判断直线与圆的位置关系。具体步骤如下:首先,使用公式计算圆心到直线的距离;然后,将该距离与圆的半径进行比较。如果距离小于半径,则直线与圆相交;如果距离等于半径,则直线与圆相切;如果距离大于半径,则直线在圆外。这种方法的时间复杂度为O(log(a² + b²)),空间复杂度为O(1)。通过这种算法,可以高效地判断直线与圆的位置关系。原创 2025-06-02 10:35:01 · 11727 阅读 · 0 评论 -
C#中实现两个对象部分相同属性值的复制
在C#中实现两个对象部分相同属性值的复制,有四种主要方案:1. 手动赋值:适用于属性较少且明确的情况,性能最优但代码冗余。2. 反射实现:通过反射动态匹配同名属性,适用于属性较多或动态场景,但性能较低。3. 使用AutoMapper:通过第三方库简化映射逻辑,代码简洁且支持复杂配置,性能中等。4. 表达式树实现:通过预编译表达式树提升性能,适合高频调用场景,实现复杂度较高但性能接近原生代码。根据具体需求,简单场景可优先选择手动赋值或AutoMapper,高频调用场景建议采用表达式树预编译方案。原创 2025-05-31 13:45:42 · 11918 阅读 · 0 评论 -
C# Mysql 单表父子多层级数据迁移
本文提供了一种针对单表父子层级数据迁移的完整解决方案,采用层级遍历方式处理多级嵌套关系。方案包括迁移流程图解、完整实现代码、关键实现逻辑说明、性能优化方案、数据验证方法和异常处理方案。通过使用队列实现广度优先遍历,确保父节点先于子节点插入,并维护ID映射关系,整个迁移过程在单个事务中完成,支持百万级数据迁移。性能优化包括批量插入和内存分页处理,数据验证方法包括层级完整性检查和ID映射验证。异常处理方案包括断点续传机制和并发冲突处理。建议在正式使用前进行多层嵌套结构验证、中断恢复场景测试和压力测试。原创 2025-05-31 13:00:09 · 11324 阅读 · 0 评论 -
C# MySQL 实现多层级联数据迁移
本文介绍了使用C#和MySQL实现多层级联数据迁移的解决方案。核心步骤包括建立ID映射关系、控制层级迁移顺序、编写数据迁移核心代码以及外键关联更新方法。关键注意事项涉及事务处理、性能优化、自增主键处理和外键约束处理。对于复杂场景,如多级嵌套关系和循环依赖,提出了相应的处理策略。验证方案包括数据一致性检查和验证外键关联。此方案通过维护ID映射表、控制迁移顺序和使用事务机制,有效处理多层级联数据的迁移需求。建议在实际操作前进行全流程验证,并通过数据库备份保障数据安全。原创 2025-05-30 09:26:04 · 14396 阅读 · 0 评论 -
C# 控制台程序实现定时自动退出
Task.Delay 异步非阻塞 可交互 三星 .NET 4.5+/Core。通过Task.Delay实现异步等待(.NET Framework 4.5+ / .NET Core)。Console.WriteLine("程序运行中,3秒后自动关闭...");Console.WriteLine("程序启动,5秒后自动退出...");Console.WriteLine("时间到,程序退出");原创 2025-05-29 09:43:31 · 14323 阅读 · 0 评论 -
C# 控制台程序获取用户输入数据验证 不合规返回重新提示输入
本文介绍了C#控制台程序中实现高效输入验证的完整方案。通过通用验证框架GetValidInput方法,结合多种验证场景(整数范围、浮点数精度、日期格式、选项列表、密码掩码),并提供了输入增强功能(默认值、超时控制)和验证规则组合器。文章还总结了常见错误解决方案和最佳实践,如使用SecureString处理敏感信息、指定文化格式等。该方案可显著提升输入成功率80%,减少错误处理时间60%,降低代码维护成本50%,是构建健壮控制台应用的实用指南。原创 2025-05-29 09:02:38 · 14437 阅读 · 0 评论 -
C# 程序求圆弧段的面积(Program to find area of a Circular Segment)
2 * r * Sin(X/2)高= OP = r * Cos(X/2)三角形面积= 1/2 * (2 * r * Sin(X/2)) * (r * Cos(X/2))因此线段面积= pi * r 2 * (角度/360) - 1/2 * r 2 * Sin(角度)Cos(X/2) = OP/AO 即 OP = AO * Cos(X/2)Sin(X/2) = AP/AO 即 AP = AO * Sin(X/2)三角形 AOB 的面积= 1/2 * 底边 * 高。在上图中,假设扇区形成的角度 = X,原创 2025-05-26 09:40:50 · 12786 阅读 · 0 评论 -
C# 控制台程序获取用户输入数据
在 C# 控制台程序中获取用户输入通常使用 Console.ReadLine() 和 Console.ReadKey() 方法。原创 2025-05-24 10:35:09 · 12775 阅读 · 0 评论 -
C# 高性能写入txt大量数据
在 C# 中高性能写入大量数据到文本文件时,需结合 流式处理、内存优化和系统级技巧。原创 2025-05-24 10:03:00 · 13252 阅读 · 0 评论 -
C# 按行写入txt大量数据
在 C# 中高效写入大量数据到文本文件时,建议使用 StreamWriter 并逐行写入,避免一次性加载全部数据到内存。// 示例:逐行写入 100 万条数据// 使用 StreamWriter 并启用自动刷新缓冲区(或手动控制)i++)string line = $"这是第 {i} 行数据";// 可选:每写入 N 行手动刷新一次(平衡性能与内存)原创 2025-05-23 10:15:29 · 15453 阅读 · 0 评论 -
C# 高效读取大文件
C# 高效读取大文件,语法简洁但需注意异常处理(如文件不存在时抛出 FileNotFoundException)。StreamReader.ReadLine:通过流式处理逐行加载文本,避免一次性加载整个文件到内存,适合超大文本文件(如日志文件)。对于超大规模文件(如数十 GB),需避免 File.ReadAllLines 等一次性加载方法,防止内存溢出。// 处理二进制数据块。BufferedStream 加速。原创 2025-05-23 09:00:32 · 15574 阅读 · 0 评论 -
C# 大文件分割
C# 大文件分割,Console.WriteLine("开始读取文件【{1}】:{0}", filePath, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));--当执行文件分割时,每个分隔出来的文件大小,单位:MB -->原创 2025-05-22 09:13:11 · 15241 阅读 · 0 评论 -
C# 扇形的面积(Area of a Circular Sector)
在该图中,绿色阴影部分是扇形,“r”是半径,“theta”是角度,如图所示。在这里,我们可以说阴影部分是小扇形,而其他部分是大扇形。“L”是扇形的弧度。圆形扇区或圆形扇区是圆盘上由两个半径和一个圆弧围成的部分,其中较小的区域称为小扇区,较大的区域称为大扇区。扇形面积的计算方法与圆面积的计算方法类似,只需用圆面积乘以扇形的角度即可。扇区 = ( pi * 20*20 ) * ( 145 / 360 )扇区 = ( pi * 9*9 ) * ( 60 / 360 )现在让我们看看计算圆的扇形的公式。原创 2025-05-19 09:21:22 · 10839 阅读 · 0 评论 -
WPF Datagrid 数据加载和性能
启用排序后,加载一半的数据项本身就花了 2 分钟多,加载全部数据项则花了 5 分钟多,我甚至因为太麻烦而关掉了应用程序。如果你注意到 ViewModel 的代码,你应该会看到我在加载数据时禁用了网格,并在完成后重新启用它。当我运行应用程序时,你会注意到,当我加载 1000 个项目时,同一个应用程序的性能(除了我刚才提到的 XAML 代码之外,没有任何代码更改)比以前好了很多。为了将此“数据”应用到我的WPF数据网格,我将这个ViewModel实例应用到我的类的DataContext中。原创 2025-05-14 10:02:46 · 9045 阅读 · 0 评论 -
C# 检查两个给定的圆是否相切或相交(Check if two given circles touch or intersect each other)
有两个圆 A 和 B,圆心分别为C1(x1, y1)和C2(x2, y2),半径分别为R1和R2。任务是检查圆 A 和 B 是否相互接触。4、如果C1C2 == R1 + R2:圆 A 和 B 相互接触。1、如果C1C2 <= R1 – R2:圆 B 位于 A 内。2、如果C1C2 <= R2 – R1:圆 A 位于 B 内。3、如果C1C2 < R1 + R2:圆互相相交。5、否则,圆 A 和圆 B 不重叠。输入: C1 = (3, 4)输入: C1 = (2, 3)输入: C1 = (-10,8)原创 2025-05-12 10:03:41 · 7405 阅读 · 0 评论 -
WPF 性能 UI 虚拟化 软件开发人员的思考
因此,如果您的 ItemsControl 显示已加载的数据,那么您就有麻烦了。当我在列表中运行包含 1000000 个项目的测试时,在没有虚拟化的情况下,程序根本无法启动。所以我不得不终止它。例如,如果 ListView 中有 1000 个文本块控件,但您只能查看其中的 10 个,那么 VisualTree 中也只会显示 10 个文本块。结果发现,仅使用 StackPanel 时,对于使用的 10000 个项目(为了加快测量速度,减少了项目数量),内存占用约为 176 MB,启动时间为 7 到 10 秒。原创 2025-05-10 10:12:52 · 7534 阅读 · 0 评论 -
如何在 C# 和 .NET 中打印 DataGrid
最初即兴的建议是使用我的屏幕截图文章来截取表单,但这当然无法解决打印 DataGrid 中虚拟显示的无数行数据的问题。因此,最终确定的方法是从 DataGrid 中捕获颜色和字体属性用于打印输出,并从 DataSet 中捕获行中的信息。为了将 DataGridPrinter 的绘制功能封装到 Printer 中,我创建了 DataGridPrinter 类,如下图 2 所示。该方法使用 DataGrid 的属性,用适当的颜色绘制每一行,并使用 DataGrid 的字体绘制每个字符串。原创 2025-05-08 09:09:35 · 8062 阅读 · 0 评论 -
C# 检查某个点是否存在于圆扇区内(Check whether a point exists in circle sector or not)
2、那么角度必须介于 StartingAngle(起始角) 和 EndingAngle(终止角) 之间,并且半径必须介于 0 和您的半径之间。1、使用这个将 x, y 转换为极坐标角度 = atan(y/x);半径 = sqrt(x * x + y * y);在此图像中,起始角度为 0 度,半径为 r,假设彩色区域百分比为 12%,则我们计算结束角度为360/百分比 + 起始角度。我们有一个以原点 (0, 0) 为中心的圆。作为输入,我们给出了圆扇区的起始角度和圆扇区的大小(以百分比表示)。原创 2025-05-05 12:52:01 · 8749 阅读 · 0 评论 -
C# 如何验证磁盘路径,如:D:\\m\aa.txt
异常处理必要性:Path.GetFullPath()能捕捉到逻辑错误(如格式错误),但需通过try-catch捕获。存在性检查场景:若仅需验证路径合法性而非实体存在性,可跳过File.Exists步骤。正则表达式细化:可根据需求调整正则表达式,例如支持网络路径或特定扩展名。非法字符与格式验证:优先排除无效字符和格式错误,避免后续操作异常。// 目录存在但文件不存在。// 包含无效冒号等字符。// 路径包含非法字符。// 正则表达式验证。原创 2025-04-28 10:15:24 · 9377 阅读 · 0 评论 -
C# Windows IIS 配置编辑器 应用程序初始化 <applicationInitialization>
applicationInitialization> 元素指定在收到请求之前主动执行 Web 应用程序初始化。如果在接收 HTTP 请求之前执行初始化连接、启动内存缓存、运行查询和编译页面代码等初始化序列,则应用程序可以更快地启动。应用程序初始化可以在应用程序启动时自动启动初始化过程。应用程序初始化不一定使初始化过程运行得更快;它更快地启动了这个过程。应用程序初始化还使你能够在初始化期间将请求重定向到静态页面(如占位符或闪屏),从而增强用户体验。原创 2025-04-24 09:04:43 · 11740 阅读 · 0 评论 -
C# 计算圆周率的程序(Program to find Circumference of a Circle)
在圆中,圆边界上的点与圆心的距离相同。圆的周长可以用以下公式简单计算。Circumference(周长) = 31.415。给定圆的半径,编写程序来查找其周长。,pi 的值 = 3.1415。输出:周长 = 12.566。输出:周长 = 50.264。,因为没有占用额外的空间。周长 = 2*pi*r。,其中 r 是圆的半径。,因为没有循环或递归。原创 2025-04-21 10:10:45 · 11605 阅读 · 0 评论 -
C# N*M 网格(表格)中的矩形数量
我们可以说,对于 N*1,将有 N + (N-1) + (n-2) …+ 1 = (N)(N+1)/2 个矩形。对于 N*M 我们有 (M)(M+1)/2 (N)(N+1)/2 = M(M+1)(N)(N+1)/4。N*M 网格可以表示为 (N+1) 条垂直线和 (M+1) 条水平线。如果网格是 3×1,则会有 3 + 2 + 1 = 6 个矩形。所以总矩形的公式将是 M(M+1)(N)(N+1)/4。如果网格是 2×1,则会有 2 + 1 = 3 个矩形。所以 N×2 = 3 (N)(N+1)/2。原创 2025-04-14 10:50:25 · 11583 阅读 · 0 评论 -
C# 计算矩形中的正方形数量(Count number of squares in a rectangle)
对于 m = n = 4,输出 16 + 9 + 4 + 1 [ 16 个大小为 1×1 + 9 个大小为 2×2 + 4 个大小为 3×3 + 1 个大小为 4×4 ]m = n = 3,输出:9 + 4 + 1 [ 9 个大小为 1×1 + 4 个大小为 2×2 + 1 个大小为 3×3 ]当 n 为较大维度时,总方块数 = mx (m+1) x (2m+1)/6 + (nm) xmx (m+1)/2。因此,方格总数为 m(m+1)(2m+1)/6 + (nm)*m(m+1)/2。原创 2025-04-08 09:07:36 · 12614 阅读 · 0 评论