Zhendong Ho

知其然知其所以然

.NET开源日志框架Log4Net详解

Log4Net介绍今天在公众号推送上看到了关于.NET开源日志框架Log4Net的一篇文章,恰巧现在做的项目中也有使用到Log4Net。由于本人对其的使用不是很熟练,于是想花点时间学习一下这个框架,了解其中的原理。 在一个大型的项目中,日志文件扮演着十分重要的角色。当系统足够大,代码量很多的时候..


我的C#学习笔记(四)类和接口

访问修饰符public:公开的公共的。 private:私有的,只能在当前类的内部访问。 protected:受保护的,只能在当前类的内部以及该类的子类中访问。 internal:只能在当前程序集(项目)中访问。在同一个项目中,internal和public的权限是一样的。 protected ..


CLR的执行模型

将源代码编译成托管模块公共语言运行时CLR公共语言运行时(Common Language Runtime,CLR)是一个可由多种编程语言使用的运行时。CLR的核心功能(比如内存管理、程序集加载、安全性、异常处理和线程同步)可由面向CLR的所有语言使用。 微软创建好了几个面向CLR的语言编译器,其..


ASP.NET Core + Ng6 实战(二)

运行时环境ASPNETCORE_ENVIRONMENT环境变量 ASP.NET Core使用ASPNETCORE_ENVIRONMENT环境变量。 ASP.NET Core应用启动时读取ASPNETCORE_ENVIRONMENT环境变量的值,并保存在IHostingEnvironment.En..


ASP.NET Core + Ng6 实战(一)

介绍今天开始学习ASP.NET Core。作为.NET平台的初级搬砖,很想找个机会学习.NET Core的相关知识。今天找到一套视频教程,是ASP.NET Core Web API + Identity Server 4 + Angular 6 + Angular Material 小项目实战。..


我的C#学习笔记(三)文件操作

Path类GetFileName:获得文件名//快速获得一个路径中的文件名string str = @"C:\aaa\bbb\c.txt";Console.WriteLine(Path.GetFileName(str));//c.txt GetFileNameWithoutExtension:获..


我的C#学习笔记(二)集合

ArrayList集合集合和数组集合:很多数据的一个集合。 数组:长度不可变,类型单一。 集合的好处:长度可以任意改变,类型随便。 //创建了一个集合对象ArrayList list = new ArrayList(); ArrayList的各种方法Add:添加单个元素 Add方法可以给集合添加..


我的C#学习笔记(一)面向对象

C#字符串StringBuilder和String的区别String在进行运算时(如赋值、拼接等)会产生一个新的实例,而StringBuilder则不会。 字符串的不可变性 当你给一个字符串重新赋值之后,老的值并没有销毁,而是重新开辟一块空间存储新值。 当程序结束后,GC扫描整个内存,如果发现有..


正则表达式之一入撸门深似海(一)

定义正则表达式(Regular Expression)是强大、便捷、高效的文本处理工具。正则表达式本身,加上如同一门袖珍编程语言的通用模式表示法(general pattern notation),赋予使用者描述和分析文本的能力。配合上特定工具提供的额外支持,正则表达式能够添加、删除、分离、叠加..