一个数组反转的经典例子


一个数组反转的经典例子int[] a = { 1, 2, 3, 4, 5, 6 };ref int ptr = ref Unsafe.Add<int>(ref MemoryMarshal.GetArrayDataReference<int>(a), 0);ref int pt

委托


委托和事件委托在IL就是一个类继承自System.MulticastDelegate 特殊类-不能被继承委托声明public delegate void NoReturnNoPara();public delegate void NoReturnWithPara(int x, int y);//1

设计模式1


设计模式设计模式六大原则面向对象语言开发过程中,推荐的一些指导性原则 没有明确的招数,而且也经常会被忽视/违背 也是前辈总结,也是为了站在前辈的肩膀上单一职责原则(Single Responsibility Principle)里氏替换原则(Liskov Substitution Principle

反射


反射dll-IL-metadata-反射反射加载dll,读取module、类、方法、特性反射创建对象,反射+简单工厂+配置文件 破坏单例 创建泛型反射调用实例方法、静态方法、重载方法 选修:调用私有方法 调用泛型方法反射字段和属性,分别获取值和设置值IL:也是一种面向对象语言,但是不太好阅读me

设计模式2


设计模式面向对象语言开发过程中,遇到种种的场景和问题,提出的解决方案和思路,沉淀下来 设计模式是解决具体问题的套路创建型设计模式结构型设计模式行为型设计模式设计模式六大原则:单一职责 里氏替换 依赖倒置 最小接口 迪米特 开闭 ;这些只能叫原则,叫建议,没有实际的招数面向对象23种设计模式:面向对

gRPC-Protobuffers


Proto buffersProto buffers文件是什么你可以理解Protocol Buffers是一种更加灵活、高效的数据格式,与XML、JSON类似,在一些高性能且对响应速度有要求的数据传输场景非常适用。Proto buffers文件作用定义数据结构​定义服务接口​通过序列化和反序列,提升

常用命令


常用命令Dockerdocker ps 查看正在运行的容器( -a列表所有的容器,-f过滤,-q只列表容器的id )docker images 查看所有的镜像docker pull 下载镜像docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库docker rmi

Linq


LinqLambda是实例化委托的快捷方式 方法Linq是基于委托的封装,逻辑解耦代码重用 帮助类库Linq to ObjectLinq To Object 在Enumerable类,针对IEnumerable数据,指的是内存数据--Where:把对数据