1.概要在.NET8中C#的新增特性,System.ComponentModel.DataAnnotations 命名空间包括用于云原生服务中的验证场景的新数据验证特性。 虽然预先存在的 DataAnnotations 验证程序适用于典型的 UI 数据输入验证(例如窗体上的字段),但新特性旨在验证非用户输入数据,例如配置选项。 除了新特性之外,还向 Rang
......
237
0
0
2024-01-19
前言编程其实就是写代码,而写代码目的就是实现业务,所以,语法和框架也是为了实现业务而存在的。因此,不管多么高大上的目标,实质上都是业务。所以,我认为不要把写代码上升到科学的高度。上升到艺术就可以了,因为艺术本身也没有高度。。。。软件设计存在过度设计,语法和框架的理解,也存在过度理解。比如,反编译下,看看反射是怎么实现的。。。有兴趣是好事,但就算知道了反射的本
......
201
0
0
2024-01-19
反射和动态编程是C#和其他现代编程语言中重要的高级主题,它们具有以下重要性:灵活性和扩展性:反射允许程序在运行时动态地获取和操作类型信息、成员和对象实例,这使得程序更加灵活和具有扩展性。动态编程则使得程序能够根据运行时的需求生成和执行代码,从而适应不同的场景和数据。插件和扩展:反射和动态编程在创建插件系统和扩展性架构中非常有用。它们允许应用程序在不修改源代码
......
238
0
0
2024-01-07
C# 字符串排序时指定偏好的排列顺序独立观察员 2023 年 8 月 25 日不知道大家有没有遇到过某些字符串数据在显示到界面上时需要按一定顺序排列的情况,如果内容是数值或字母自然好办,默认的排序功能就搞定了。那么如果是中文字符串呢?本文将会提供一个能在调用 OrderBy 方法时传入的字符串比较器,能够在一定程度上指定你偏爱的排列顺序,下面就一起来看看吧。
......
249
0
0
2024-01-06
在ABP VNext框架中,即使在它提供的所有案例中,都没有涉及到 Winform 程序的案例介绍,不过微服务解决方案中提供了一个控制台的程序供了解其IDS4的调用和处理,由于我开发过很多Winform项目,以前基于ABP框架基础上开发的《ABP快速开发框架》中就包含了Winform客户端,因此我对于ABP VNext在Winform上的使用也比较关心,花了
......
406
0
0
2023-10-08
目录概述思路代码示例位置定义方向定义估值函数节点定义算法上下文定义寻路算法初始化获取路径寻路完整代码概述AStar算法是一种图形搜索算法,常用于寻路。他是以广度优先搜索为基础,集Dijkstra算法和最佳优先(best fit)于一身的一种算法。示例1:4向示例2:8向思路递归的通过估值函数找到最佳路径,估值函数与距离相关,也有可能与通过代价系数相关(例如平
......
411
0
0
2023-09-12
目录c# chart缩放,局部放大放大缩小c# chart表格设置间隔与小数点网格刻度总结c# chart缩放,局部放大效果:左键划选放大区域,右键恢复/// <summary>
/// 初始化,传入要进行初始化的chart
/// </summary>
/// <param name="chart"></pa
......
608
0
0
2023-08-20
目录前言async await是语法糖生成的状态机启动状态机执行异步任务线程池和Task关联Task的FromResult总结前言 前一段时间得闲的时候优化了一下我之前的轮子[DotNetCoreRpc]小框架,其中主要的优化点主要是关于RPC异步契约调用的相关逻辑。在此过程中进一步了解了关于async和awai
......
379
0
0
2023-08-14
目录一、需求二、Task取消任务三、Task取消任务的回调四、Task超时处理的实现五、Task.WhenAny 的异常六、其他的写法一、需求在之前的帖子中,介绍了 async / await 的用法,那么新的问题又来了,如果调用一个异步方法后,一直不给返回值结果怎么办呢?这就涉及到怎么取消任务了。添加一个任务后,如果固定时间内没用返回结果,那么就
......
553
0
0
2023-08-02
目录一、手动操作DataGridView1、初步尝试2、批量加入3、带数据的行的加入rows.Add二、数据来源DataSource1、来自列表List2、来自自定义DataTable3、动态建立表格4、类和BindingList5、来自文件字符流6、来自数据库7、用到的student类C#中的表格控件只有一个,那就是datagridview,不像QT中可以
......
649
0
0
2023-08-02
目录Csv文件基本的属性Csv读写方式方式一:一次性读写方式二:使用文件流形式读写Csv文件读写DataTable类型Csv文件基本的属性csv文件可以在excel或者wps中以表格形式打开,本质上是每一列以,逗号为分隔符的一种格式,在C#中操作可以把他当做普通txt文本读入,然后通过处理,逗号分隔符来对数据进行处理转换。在表格中打开:在记事本中打开:Csv
......
507
0
0
2023-08-02
目录实现流程1.1、创建项目1.2、时间间隔配置页1.3、闹钟提醒页1.4、开机自启动配置1.5、日志记录1.6、最小化提示总结> 此文主要通过WinForm来制作一个休息提醒闹钟,通过设置时间间隔进行提醒,避免沉浸式的投入到工作或者学习当中,战斗的同时也要照顾好自己。实现流程1.1、创建项目打开Visual Studio,右侧选择创建新项目。搜索框输
......
526
0
0
2023-07-29
目录一 引入二 RobotControl三 Style四 效果演示一 引入考虑实现一种三轴机器人控件。三轴机器人用来将某种工件从一个位置运送到另一个位置。其X轴为手臂轴,可以正向和反向运动,它处于末端,直接接触工件;其T轴为旋转轴,可以对手臂进行旋转;其Z轴为升降轴,可以对手臂和旋转部分进行升降。二 RobotControl定义出机器人的轴动作枚举,轴的动作
......
455
0
0
2023-07-28
验证和授权是两个独立但又存在联系的过程。验证是检查访问者的合法性,授权是校验访问者有没有权限查看资源。它们之间的联系——先验证再授权。贯穿这两过程的是叫 Claim 的东东,可以叫它“声明”。没什么神秘的,就是由两个字符串组成的对象,一曰 type,一曰 value。type 和 value 有着映射关系,类似字典结构的 key 和 value。Claim
......
320
0
0
2023-07-27
目录前言安装ClearScript引入js文件创建V8ScriptEngine对象通过js引擎加载js文件C#调用js方法实现经纬度坐标纠偏C#调用js方法判断经纬度点位是否在多边形内程序开发完成后发布Form1.cs完整代码如下:前言用.net6开发一个Winform程序,处理Excel文件,并把结果导出Excel文件。要用到两个算法,一是turf.js库
......
313
0
0
2023-07-23