何为反射? 首先我们通过两个实例来说明反射的大体概念。 B超:大家体检的时候大概都做过B超,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了。地球内部结构:地球的内部结构大体可以分为三层:地壳
......
275
0
0
2024-01-27
1.概要什么是不可变类型?在C#中,不可变类型(Immutable Types)是指一旦创建后,其状态或内容不能被修改的数据类型。不可变类型是基于函数式编程的概念,它们通常用于创建不可更改的对象,从而提高代码的可靠性、可维护性和线程安全性。不可变类型有哪些?Tuple元组 (Tuple) 是C#中的一个泛型类型,它允许将多个值打包成一个单一的不可变对象。元组
......
214
0
0
2024-01-19
1.概要乐观锁(Optimistic Locking)乐观锁的核心思想是假设在大多数情况下,资源不会发生冲突,因此允许多个用户或线程同时读取和修改资源。只有在真正发生冲突的时候才会进行冲突解决。乐观锁的工作原理如下:版本标识或时间戳:在资源中引入一个版本标识(Version)或时间戳(Timestamp)字段,用于记录资源的修改版本或修改时间。读取资源:当一
......
269
0
0
2024-01-19
前言编程其实就是写代码,而写代码目的就是实现业务,所以,语法和框架也是为了实现业务而存在的。因此,不管多么高大上的目标,实质上都是业务。所以,我认为不要把写代码上升到科学的高度。上升到艺术就可以了,因为艺术本身也没有高度。。。。软件设计存在过度设计,语法和框架的理解,也存在过度理解。比如,反编译下,看看反射是怎么实现的。。。有兴趣是好事,但就算知道了反射的本
......
200
0
0
2024-01-19
反射和动态编程是C#和其他现代编程语言中重要的高级主题,它们具有以下重要性:灵活性和扩展性:反射允许程序在运行时动态地获取和操作类型信息、成员和对象实例,这使得程序更加灵活和具有扩展性。动态编程则使得程序能够根据运行时的需求生成和执行代码,从而适应不同的场景和数据。插件和扩展:反射和动态编程在创建插件系统和扩展性架构中非常有用。它们允许应用程序在不修改源代码
......
235
0
0
2024-01-07
C# 字符串排序时指定偏好的排列顺序独立观察员 2023 年 8 月 25 日不知道大家有没有遇到过某些字符串数据在显示到界面上时需要按一定顺序排列的情况,如果内容是数值或字母自然好办,默认的排序功能就搞定了。那么如果是中文字符串呢?本文将会提供一个能在调用 OrderBy 方法时传入的字符串比较器,能够在一定程度上指定你偏爱的排列顺序,下面就一起来看看吧。
......
248
0
0
2024-01-06
目录概述思路代码示例位置定义方向定义估值函数节点定义算法上下文定义寻路算法初始化获取路径寻路完整代码概述AStar算法是一种图形搜索算法,常用于寻路。他是以广度优先搜索为基础,集Dijkstra算法和最佳优先(best fit)于一身的一种算法。示例1:4向示例2:8向思路递归的通过估值函数找到最佳路径,估值函数与距离相关,也有可能与通过代价系数相关(例如平
......
409
0
0
2023-09-12
目录c# chart缩放,局部放大放大缩小c# chart表格设置间隔与小数点网格刻度总结c# chart缩放,局部放大效果:左键划选放大区域,右键恢复/// <summary>
/// 初始化,传入要进行初始化的chart
/// </summary>
/// <param name="chart"></pa
......
607
0
0
2023-08-20
目录前言async await是语法糖生成的状态机启动状态机执行异步任务线程池和Task关联Task的FromResult总结前言 前一段时间得闲的时候优化了一下我之前的轮子[DotNetCoreRpc]小框架,其中主要的优化点主要是关于RPC异步契约调用的相关逻辑。在此过程中进一步了解了关于async和awai
......
378
0
0
2023-08-14
目录一、需求二、Task取消任务三、Task取消任务的回调四、Task超时处理的实现五、Task.WhenAny 的异常六、其他的写法一、需求在之前的帖子中,介绍了 async / await 的用法,那么新的问题又来了,如果调用一个异步方法后,一直不给返回值结果怎么办呢?这就涉及到怎么取消任务了。添加一个任务后,如果固定时间内没用返回结果,那么就
......
550
0
0
2023-08-02
目录一、手动操作DataGridView1、初步尝试2、批量加入3、带数据的行的加入rows.Add二、数据来源DataSource1、来自列表List2、来自自定义DataTable3、动态建立表格4、类和BindingList5、来自文件字符流6、来自数据库7、用到的student类C#中的表格控件只有一个,那就是datagridview,不像QT中可以
......
648
0
0
2023-08-02
目录Csv文件基本的属性Csv读写方式方式一:一次性读写方式二:使用文件流形式读写Csv文件读写DataTable类型Csv文件基本的属性csv文件可以在excel或者wps中以表格形式打开,本质上是每一列以,逗号为分隔符的一种格式,在C#中操作可以把他当做普通txt文本读入,然后通过处理,逗号分隔符来对数据进行处理转换。在表格中打开:在记事本中打开:Csv
......
504
0
0
2023-08-02
目录实现流程1.1、创建项目1.2、时间间隔配置页1.3、闹钟提醒页1.4、开机自启动配置1.5、日志记录1.6、最小化提示总结> 此文主要通过WinForm来制作一个休息提醒闹钟,通过设置时间间隔进行提醒,避免沉浸式的投入到工作或者学习当中,战斗的同时也要照顾好自己。实现流程1.1、创建项目打开Visual Studio,右侧选择创建新项目。搜索框输
......
525
0
0
2023-07-29
目录前言安装ClearScript引入js文件创建V8ScriptEngine对象通过js引擎加载js文件C#调用js方法实现经纬度坐标纠偏C#调用js方法判断经纬度点位是否在多边形内程序开发完成后发布Form1.cs完整代码如下:前言用.net6开发一个Winform程序,处理Excel文件,并把结果导出Excel文件。要用到两个算法,一是turf.js库
......
313
0
0
2023-07-23
目录一、需求二、新建 C# 项目三、MySQL数据库四、MySqlHelper五、测试总结一、需求C# 使用 MySQL 数据库的情况还是比较少的,大部分使用 Windows 平台一般使用 SQL Server,在两年前我买过100元一年的学生服务器,当时也是买着玩的,装 MySQL 数据库使用起来就非常卡,也不知道为什么,但 SQL Server 操作起来
......
315
0
0
2023-07-19