NET
文章平均质量分 74
不脱发的牧码人
热爱网络!注重c#语言,当然,我也很喜欢前端!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vs中版本号如何自动生成,解放双手?
最近研究了下产品的版本管理,发现手头一个项目大大小小的类库和主程序,加起来差不多有100多个dll,如果发布版本的时候每次去手动修改版本号,肯定会当场累死(不死也得残 -_-!),当然有极大的可能还会忘记修改版本号,总之,我想要自动生成版本号,不想把有限的精力浪费到这种无聊的事情中去,怎么办呢?好了,直接编译项目,查看生成的exe或dll文件,就会发现版本号最后修订号变成了当前年份+今年中的第几天,例如:1.0.0.25052。$major = $matches[1] # 主版本号。原创 2025-04-11 15:58:13 · 705 阅读 · 0 评论 -
Python的Eval函数执行结果和Lua脚本中LuaFunction的执行结果有何异同
最近在维护一个项目的时候,同时用到了Python和Lua两种脚本语言,发现很多有意思的东西,比如Python的Eval函数和Lua的LuaFunction函数,他们都是返回目标函数的句柄,那么在用法和机制上又有什么不同呢?为了全面而深入地探讨这些异同,我们需要从多个维度进行分析,包括但不限于执行机制、安全性、性能、语法兼容性、错误处理、返回值类型、作用域管理、代码可读性、调试与测试、以及实际应用场景等。原创 2024-11-12 11:28:47 · 1081 阅读 · 0 评论 -
上帝类的深度解析与避免策略
上帝类,顾名思义,是指那些功能过于强大、职责过于繁重的类。在软件系统中,这类类通常扮演着无所不能的角色,涵盖了从数据存储、业务逻辑处理到用户界面交互等多个方面的功能。功能过度集中:上帝类通常包含了大量的属性和方法,这些属性和方法涵盖了多个不同的功能模块。这些功能本应由不同的类来承担,但在上帝类中却被集中在一起,导致类的职责过于繁重。代码膨胀与复杂性:由于功能过度集中,上帝类的代码行数通常非常多,且逻辑复杂。这不仅使得代码难以阅读和理解,还增加了出错的风险。随着代码的不断膨胀,维护成本也会急剧上升。原创 2024-11-09 21:52:35 · 1496 阅读 · 0 评论 -
帮你快速理解并巧记设计模式
这些例子旨在帮助理解设计模式在实际编程中的应用。每种模式都有其特定的使用场景和优缺点,选择合适的模式可以提高代码的可维护性、可扩展性和可重用性。原创 2024-11-08 22:03:46 · 941 阅读 · 0 评论 -
C#中Task和Thread的全解析
Task:提供了更高层次的抽象,简化了并发编程的复杂性,支持异步编程模式,自动处理异常和取消操作,通常更高效。在现代C#开发中,Task是首选的并发编程方式。Thread:提供了对线程的直接控制,但管理起来更复杂,需要处理更多的细节和同步问题。适用于需要直接控制线程的特定场景。在选择使用Task还是Thread时,应根据具体需求、性能要求、代码复杂度等因素进行权衡。在大多数情况下,Task。原创 2024-11-08 15:33:05 · 893 阅读 · 0 评论 -
C#实现傅里叶变换算法
在C#中实现傅里叶变换(Fourier Transform)算法,通常有两种主要的方法:自己编写实现代码,或者利用现有的数学和信号处理库。由于傅里叶变换算法涉及复杂的数学运算,特别是快速傅里叶变换(FFT),因此使用现有的、经过优化的库通常是更好的选择。以上仅供学习,在实际应用中,你应该使用像Math.NET Numerics这样的数学库,它提供了高效且经过优化的FFT实现。不过,为了学习的目的,我可以向你展示一个简化版的离散傅里叶变换(DFT)的实现。原创 2024-11-05 22:36:11 · 1073 阅读 · 0 评论 -
C#中lock(变量)与lock(this)的区别
推荐使用专用锁对象(如),因为它减少了锁冲突,避免了潜在的死锁问题,并且保持了良好的封装性。避免使用lock(this),因为它可能导致锁冲突、死锁风险,并破坏了封装性。选择正确的锁对象对于确保线程安全和代码可靠性至关重要。在编写多线程代码时,始终牢记这些原则,并仔细考虑锁的作用域和可见性。原创 2024-11-05 22:23:02 · 1049 阅读 · 0 评论 -
在C#中嵌入pythonnet,使用python脚本互操作.Net对象
手头的一个老的项目,之前一直用的lua作为窗口语言,用户可以自行编写脚本来调用系统的各种资源,包括一些自定义的函数或算法,以及系统之前定义好的插件和硬件设备,因为项目面向的是一些高校和研究所,所以就陆续有人建议把python也加入进来,正好最近手头的活不是很紧急了,就稍稍研究了一下。以上这段代码摘自网络,已验证通过,没有任何问题,可以放到program文件中的Main方法中,进程启动加载一次就可以了,如果不配置PythonDLL的路径,会导致下面的初始化失败。以上为本次开发所需要的所有环境布置,原创 2024-10-10 19:00:57 · 1686 阅读 · 0 评论 -
Winform 切换选中控件后,treeview的选中状态消失
HideSelection为false就好了,事实真的如此吗?做过winform 的童鞋都知道,页面上有treeview时,控件切换光标后,选中状态就消失了,这就给人一种很迷惑的感觉,不知道之前选中的哪一个,有人说了……原创 2024-06-19 15:53:38 · 365 阅读 · 0 评论 -
net6中使用FreeSql
说点题外话,相比net其他的版本,net6简单了许多,不再需要配置一大堆路由、插件……等等,使用体验上好了许多。net 中的orm框架之前接触过EF,因为项目的原因最近又用到了FreeSql,回过头来看看,EF还是显的笨重了不少,FreeSql除了安装Nuget包之外,只有一句connection连接字符串的配置,只要配对了就直接可以使用了,听起来是不是很爽啊,哈哈。安装:FreeSql提供了众多常用数据库的驱动插件,打开nuget选择需要的插件包安装(笔者用的数...原创 2022-02-17 18:40:48 · 2538 阅读 · 1 评论
分享