C# 使用 Index 和 Range 简化集合操作

C# 使用 Index 和 Range 简化集合操作 Intro 有的语言数组的索引值是支持负数的,表示从后向前索引,比如:arr[-1] 从 C# 8 开始,C# 支持了数组的反向 Index,和 Range 操作,反向 Index 类似于其他语言中的负索引值,但其实是由编译器帮我们做了一个转换, ... »

使用 Castle 实现 AOP,以及 Autofac 集成 Castle

Castle 是 2003 年诞生于 Apache Avalon 项目,目的是为了创建一个IOC 框架。发展到现在已经有四个组件: ORM组件:ActiveRecord IOC组件:Windsor 动态代理组件:DynamicProxy Web MVC组件:MonoRail 本文主要介绍 动态代理组 ... »

属于我的md5sum程序

前言 之所以想做这个软件是因为一直在使用的http://keir.net/hash.html软件有很多功能不能满足。 经过自学C#,研究多线程,异步更新UI,等等知识,终于用C#完成了一个自己使用的md5sum.exe。 可以去:https://download.csdn.net/download/ ... »

.NET并发编程-数据结构不可变性

本系列学习在.NET中的并发并行编程模式,实战技巧 内容目录 .NET不可变集合.NET并发集合函数式数据结构设计一个不可变类 作为程序员经常遇到产品上线后出现各种莫名其妙的问题,在我本地是好好的啊,也成为程序员面对未知问题的第一反应。这种不容易复现的问题,无非就是硬件不一致和软件不一致,更多的问题 ... »

C#中word导出功能骚操作

马上过牛年了,先祝大家新年好,身体好,心情好!!! 年前最后写一篇之前项目开发的一个功能,自己根据系统业务,想到的一个解决办法,效率还是不错的,废话不多说,开整!!! 需求:企业填报自己的企业信息到系统中,最后需要将数据以给定word模板形式导出,功能简单,就是要开发快,赶及 分析:主要费时间的工作 ... »

.NET并发编程-函数闭包

本系列学习在.NET中的并发并行编程模式,实战技巧 内容目录 函数式编程闭包的应用记忆化函数缓存 函数式编程 一个函数输出当做另一个函数输入。有时候一个复杂问题,我们拆分成很多个步骤函数,这些函数组合起来调用解决一个复杂问题。 在C#中不支持函数组合,但可以直接像这样调用B(A(n)),这也是函数组 ... »

ABP设置管理模块: Abp.SettingUi

开源地址: https://github.com/EasyAbp/Abp.SettingUi 一直想宣传一下SettingUi, 因为 懒 工作比较忙, 所以才拖到今天. 关于ABP就不需要我再多废口舌了, 已经是一个非常出名的.NET Core的框架, 在国内也已经有很多企业在正式项目中广泛使用了 ... »

浅谈Winform控件开发(一):使用GDI+美化基础窗口

写在前面: 本系列随笔将作为我对于winform控件开发的心得总结,方便对一些读者在GDI+、winform等技术方面进行一个入门级的讲解,抛砖引玉。 别问为什么不用WPF,为什么不用QT。问就是懒,不想学。 本项目所有代码均开源在https://github.com/muxiang/PowerCo ... »

小心 Enum Parse 中的坑

小心 Enum Parse 中的坑 Intro 最近使用枚举的时候,踩了一个小坑,分享一下,主要是枚举从 int 值转成枚举时可能会遇到 Sample 来看下面的示例: 首先定义一个枚举: public enum Color : byte { Red = 0, Green = 1, Blue = 2 ... »

实现一个基于值比较的字典

C# 实现一个基于值比较的字典 Intro 今天在项目里遇到一个需求,大概是这样的我要比较两个 JSON 字符串是不是相等,JSON 字符串其实是一个 Dictionary<string, string> 但是顺序可能不同,和上一篇 record 使用场景中的第一个需求类似,前面我们介绍过使用 re ... »

.NET并发编程-函数式编程

本系列学习在.NET中的并发并行编程模式,实战技巧 函数式编程 和面向过程编程POP(procedure oriented Programming)面向对象编程OOP(object oriented programming)一样也是一种编程思维。函数式编程FP(functional programm ... »

生产管理-移动端品质检验及设备管理-行业经验及方案

前言 本文主要分享一些行业经验与方案,欢迎大家提出更好的建议,互相进步! 随着移动应用的不断扩张,所涉及到的领域也越来越广,在生产管理过程中单纯的电脑版系统已经远远不能满足企业的需求,越来越多的用户都希望一些纸档的操作模式能够转变为当下流行的移动应用,也就是通过手机或者平板电脑代替纸档操作。 移动应 ... »

浅析 record 使用场景

浅析 record 使用场景 Intro 之前我们有介绍过 record 基本知识,record 会实现基于值的类型比较,最近遇到的几个问题觉得用 record 来解决会非常方便,分享一下 基于值的类型比较 最近有遇到一个场景,需要比较两个 JSON 字符串是否相等,字符串比较简单,就是一个固定值的 ... »