C# 使用 Index 和 Range 简化集合操作
C# 使用 Index 和 Range 简化集合操作 Intro 有的语言数组的索引值是支持负数的,表示从后向前索引,比如:arr[-1] 从 C# 8 开始,C# 支持了数组的反向 Index,和 Range 操作,反向 Index 类似于其他语言中的负索引值,但其实是由编译器帮我们做了一个转换, ... »
C# 使用 Index 和 Range 简化集合操作 Intro 有的语言数组的索引值是支持负数的,表示从后向前索引,比如:arr[-1] 从 C# 8 开始,C# 支持了数组的反向 Index,和 Range 操作,反向 Index 类似于其他语言中的负索引值,但其实是由编译器帮我们做了一个转换, ... »
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o ... »
Castle 是 2003 年诞生于 Apache Avalon 项目,目的是为了创建一个IOC 框架。发展到现在已经有四个组件: ORM组件:ActiveRecord IOC组件:Windsor 动态代理组件:DynamicProxy Web MVC组件:MonoRail 本文主要介绍 动态代理组 ... »
反射实例化类 public class Person { public string Name { get; set; } public Person(string name) { this.Name = name; } public string Say(string msg) { return ... »
概念: DI依赖注入: IServiceCollection仅支持构造函数注入 什么是依赖注入? 如果对象A依赖对象B,对象B依赖对象C,就可以先构造对象C,然后传递给对象B,再把对象B传递给A。得到A的具体实例; IServiceCollection可以支持无限层级的依赖注入;前提是都要先注册服务 ... »
.NET Framework时代,.NET 应用程序大多直接部署运行在Windows服务器上,当然也可以通过Mono部署运行在Linux上。无论部署exe,还是IIS站点、或是Windows Service,编译后的程序直接copy、简单配置部署上即可。 有了.NET Core之后,.NET应用程序 ... »
前言 之所以想做这个软件是因为一直在使用的http://keir.net/hash.html软件有很多功能不能满足。 经过自学C#,研究多线程,异步更新UI,等等知识,终于用C#完成了一个自己使用的md5sum.exe。 可以去:https://download.csdn.net/download/ ... »
本系列学习在.NET中的并发并行编程模式,实战技巧 内容目录 .NET不可变集合.NET并发集合函数式数据结构设计一个不可变类 作为程序员经常遇到产品上线后出现各种莫名其妙的问题,在我本地是好好的啊,也成为程序员面对未知问题的第一反应。这种不容易复现的问题,无非就是硬件不一致和软件不一致,更多的问题 ... »
马上过牛年了,先祝大家新年好,身体好,心情好!!! 年前最后写一篇之前项目开发的一个功能,自己根据系统业务,想到的一个解决办法,效率还是不错的,废话不多说,开整!!! 需求:企业填报自己的企业信息到系统中,最后需要将数据以给定word模板形式导出,功能简单,就是要开发快,赶及 分析:主要费时间的工作 ... »
本系列学习在.NET中的并发并行编程模式,实战技巧 内容目录 函数式编程闭包的应用记忆化函数缓存 函数式编程 一个函数输出当做另一个函数输入。有时候一个复杂问题,我们拆分成很多个步骤函数,这些函数组合起来调用解决一个复杂问题。 在C#中不支持函数组合,但可以直接像这样调用B(A(n)),这也是函数组 ... »
开源地址: https://github.com/EasyAbp/Abp.SettingUi 一直想宣传一下SettingUi, 因为 懒 工作比较忙, 所以才拖到今天. 关于ABP就不需要我再多废口舌了, 已经是一个非常出名的.NET Core的框架, 在国内也已经有很多企业在正式项目中广泛使用了 ... »
写在前面: 本系列随笔将作为我对于winform控件开发的心得总结,方便对一些读者在GDI+、winform等技术方面进行一个入门级的讲解,抛砖引玉。 别问为什么不用WPF,为什么不用QT。问就是懒,不想学。 本项目所有代码均开源在https://github.com/muxiang/PowerCo ... »
小心 Enum Parse 中的坑 Intro 最近使用枚举的时候,踩了一个小坑,分享一下,主要是枚举从 int 值转成枚举时可能会遇到 Sample 来看下面的示例: 首先定义一个枚举: public enum Color : byte { Red = 0, Green = 1, Blue = 2 ... »
一、创建Redis服务 运行环境是Window,安装Redis请看:安装教程。 直接开始创建Redis服务,演示就创建两个一主一从,先把安装路径下的 redis.windows.conf 文件复制一份重命名并更改端口号为6380, 并且把文件中的bind字段注释,protected-mode设置为n ... »
C# 实现一个基于值比较的字典 Intro 今天在项目里遇到一个需求,大概是这样的我要比较两个 JSON 字符串是不是相等,JSON 字符串其实是一个 Dictionary<string, string> 但是顺序可能不同,和上一篇 record 使用场景中的第一个需求类似,前面我们介绍过使用 re ... »
本系列学习在.NET中的并发并行编程模式,实战技巧 函数式编程 和面向过程编程POP(procedure oriented Programming)面向对象编程OOP(object oriented programming)一样也是一种编程思维。函数式编程FP(functional programm ... »
前言 本文主要分享一些行业经验与方案,欢迎大家提出更好的建议,互相进步! 随着移动应用的不断扩张,所涉及到的领域也越来越广,在生产管理过程中单纯的电脑版系统已经远远不能满足企业的需求,越来越多的用户都希望一些纸档的操作模式能够转变为当下流行的移动应用,也就是通过手机或者平板电脑代替纸档操作。 移动应 ... »
Fody,告别烦人的INotifyPropertyChanged,最简方式实现通知! ... »
浅析 record 使用场景 Intro 之前我们有介绍过 record 基本知识,record 会实现基于值的类型比较,最近遇到的几个问题觉得用 record 来解决会非常方便,分享一下 基于值的类型比较 最近有遇到一个场景,需要比较两个 JSON 字符串是否相等,字符串比较简单,就是一个固定值的 ... »
一、Google Authenticator 基本概念 Google Authenticator是谷歌推出的一款动态口令工具,旨在解决大家Google账户遭到恶意攻击的问题,在手机端生成动态口令后,在Google相关的服务登陆中除了用正常用户名和密码外,需要输入一次动态口令才能验证成功,此举是为了保 ... »