
编程
文章平均质量分 63
@David Liu
别在树下徘徊,别在雨中沉思,别在黑暗中落泪。
展开
-
C#调用innosetup实现自动打包
Inno Setup 是一个免费的 Windows 安装程序制作软件。第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件。原创 2022-11-05 20:38:09 · 982 阅读 · 0 评论 -
Git命令行使用
Command line instructions1.Git全局设置Git global setupgit config --global user.name "xxx"git config --global user.email "xxx@abc.cn"2.新建仓库Create a new repositorygit clone http://server/username/projectname.gitcd projectnametouch README.mdgit...原创 2021-12-13 21:36:11 · 485 阅读 · 0 评论 -
C#中Property和Attribute的区别
Attribute 字段Property 属性(get;set;)属性的正常写:private string name;public string Name {get { return name; }set { name = value; }}简写:(自动属性)public string Name { get; set; }然后 编译器 会转换成 正常写法l Property就是访问字段(成员变量,Field)提供的一种方式(set/get)l Prope..转载 2021-12-01 22:27:49 · 1201 阅读 · 0 评论 -
C#中的GC垃圾收集器工作原理
GC一个跟踪过程,它传递性地跟踪指向当前使用的对象的所有指针,以便找到可以引用的所有对象,然后重新使用在此跟踪过程中未找到的任何堆内存。公共语言运行库垃圾回收器还压缩使用中的内存,以缩小堆所需要的工作空间。垃圾收集器的基本算法很简单:●将所有的托管内存标记为垃圾●寻找正被使用的内存块,并将他们标记为有效●释放所有没有被使用的内存块●整理堆以减少碎片...原创 2021-12-01 22:19:19 · 327 阅读 · 0 评论 -
C#中堆与栈的区别
堆与栈都是内存空间的一部分,其中,堆又可以分为托管堆和非托管堆。托管堆和栈由 CLR 管理。栈负责保存我们的代码执行(或调用)路径,而堆则负责保存对象(或者说数据,接下来将谈到很多关于堆的问题)的路径。对托管堆中的一部分——GC 堆中不用的对象进行释放就是垃圾回收的主要工作,而托管堆的其他部分,和开发者关系相对没有那么大。对非托管堆的管理则需要由开发者完成。在 CLR 开始执行第一行代码之前,它会先建立三个程序域:系统域、共享域以及默认的一个应用程序域(AppDomain 类型的一个实例)。其中,原创 2021-12-01 21:57:29 · 1795 阅读 · 0 评论 -
析构函数和Dispose的使用区别
MSDN也有非常详细的说明但看起来不是很系统。也曾经做过分析,但没有总结下来又忘了,这次整理一下MSDN和网上搜集的一些资料,以备不时只需。MSDN建议 // Design pattern for a base class. public class Base : IDisposable { //保证重复释放资源时系统异常 private bool _isDisposed = false; // 析构函数,编译器自动生成Fina转载 2021-12-01 21:18:33 · 720 阅读 · 0 评论 -
OOA、OOD、OOP分别是什么?
什么是面向对象分析(OOA)?"面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求。" 什么是面向对象设计(OOD)?“面向对象设计是一种设计方法,包括面向对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻辑模型和物理模型、静态模型和动态模型”。 这里定义2个要点: (1)面向对象设计导致了面向对象分解 (2)面向对象设计使用了不同的表示法来表达逻辑设计(类和对象结构)和物理设计(模块和处理架构)的不...转载 2021-11-29 22:20:27 · 2247 阅读 · 0 评论