随笔分类 -  C#

摘要:## 抽象静态方法 在C# 11中,引入了对抽象静态接口成员的支持。这个特性可以让你在接口中定义静态抽象方法、属性、或事件。具体来说,一个接口可以定义一个或多个抽象静态成员,这些成员没有具体的实现。任何实现该接口的类或结构必须提供这些成员的静态实现。这就像实现普通接口成员一样,只不过是静态的。当然, 阅读全文
posted @ 2023-08-07 12:45 HueiFeng 阅读(471) 评论(0) 推荐(0) 编辑
摘要:前言 在C#中提供了一些关键字if、else、switch、for等,这些关键字为我们提供了应用程序的流程控制。后面几个章节我们将看到的是流程控制在IL中的实现。 static void Main(string[] args) { var a = 1; if (a == 0) { Console.W 阅读全文
posted @ 2020-07-17 21:10 HueiFeng 阅读(368) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇文章主要介绍了IL的概念以及基础的示例代码,在这一篇文章中我们将通过对象调用看IL。 创建对象与调用方法 class Program { static void Main(string[] args) { var obj = new MyClass(); Console.WriteLin 阅读全文
posted @ 2020-07-07 20:46 HueiFeng 阅读(510) 评论(0) 推荐(3) 编辑
摘要:基础概念 Microsoft中间语言(MSIL),也成为通用中间语言(CIL),是一组与平台无关的指令,由特定于语言的编译器从源代码生成。MSIL是独立于平台的,因此,他可以在任何公共语言基础架构支持特定的环境上执行。 通过JIT编译器将MSIL转换为特定计算机环境的特定机器代码。这是在执行MSIL 阅读全文
posted @ 2020-07-05 19:37 HueiFeng 阅读(1497) 评论(0) 推荐(3) 编辑
摘要:在源代码中设置断点,然后进行点击调试 若要启用反汇编窗口,请在工具>选项(或工具> 选项>调试下,选择启用地址级调试。 若要在调试期间打开反汇编窗口,请选择窗口>反汇编或按 Alt+8 。 除汇编指令外,反汇编窗口还可显示下列可选信息: 每条指令所在的内存地址 对于本机应用程序,它是实际内存地址。 阅读全文
posted @ 2020-06-20 14:46 HueiFeng 阅读(3505) 评论(0) 推荐(2) 编辑
摘要:前言 目前Magicodes.IE更新到了2.2.3,感谢大家的支持,同时建议大家在使用过程中如果遇到一些问题或者说需要一些额外的功能可以直接提issues,当然更建议大家提PR。 近期更新 2020.05.24 【Nuget】版本更新到2.2.2 【Excel导入】增加了stream导入扩展方法 阅读全文
posted @ 2020-06-05 08:59 HueiFeng 阅读(736) 评论(0) 推荐(4) 编辑
摘要:在Startup ConfigureServices 注册本地化所需要的服务AddLocalization和 Configure<RequestLocalizationOptions> public void ConfigureServices(IServiceCollection services 阅读全文
posted @ 2020-05-30 21:56 HueiFeng 阅读(1157) 评论(0) 推荐(5) 编辑
摘要:在.NET中,我们可以通过Task.WhenAll用来等待多个任务。任务完成之后,我们可以使用await等待他们来获取结果。 Task<int> task1 = Task.Run(() => 1); Task<string> task2 = Task.Run(() => "hello"); awai 阅读全文
posted @ 2020-05-26 21:15 HueiFeng 阅读(655) 评论(0) 推荐(2) 编辑
摘要:当用户向应用程序发出请求时,服务器将解析该请求,生成响应,然后将结果发送给客户端。用户可能会在服务器处理请求的时候中止请求。就比如说用户跳转到另一个页面中获取说关闭页面。在这种情况下,我们希望停止所有正在进行的工作,以浪费不必要的资源。例如我们可能要取消SQL请求、http调用请求、CPU密集型操作 阅读全文
posted @ 2020-05-26 20:49 HueiFeng 阅读(1507) 评论(0) 推荐(3) 编辑
摘要:什么是Pub Sub 发布订阅是一种设计模式,它允许应用程序组件之间进行松散耦合。 其实订阅发布设计中主要是发布者生成事件通道,用于在不了解任何订阅者存在的情况下通知订阅者。 当然委托EventHandlers和Event关键字在此事件处理机制中担任着重要的角色。下面我们来看看如何使用它们。 Pub 阅读全文
posted @ 2020-05-21 21:09 HueiFeng 阅读(2414) 评论(1) 推荐(3) 编辑
摘要:Magicodes.IE Csv导入导出 说明 本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出. 主要步骤 1.安装包Magicodes.IE.Csv 2.使用Magicodes.IE.Csv导出Csv 通过如下代码片段我们将导出的内容通过相应的特性做出相应的处理. Expo 阅读全文
posted @ 2020-05-14 08:37 HueiFeng 阅读(1894) 评论(15) 推荐(16) 编辑
摘要:依赖倒置原则(DIP) 依赖倒置(Dependency Inversion Principle,缩写DIP)是面向对象六大基本原则之一。他是指一种特定的的解耦形式,使得高层次的模块不依赖低层次的模块的实现细节,依赖关系被颠倒(反转),从而使得低层次模块依赖于高层次模块的需求抽象. 该原则规定: 高层 阅读全文
posted @ 2020-05-12 08:51 HueiFeng 阅读(2273) 评论(4) 推荐(12) 编辑
摘要:Equals和GetHashCode Equals每个实现都必须遵循以下约定: 自反性(Reflexive): x.equals(x)必须返回true. 对称性(Symmetric): x.equals(y)为true时,y.equals(x)也为true. 传递性(Transitive): 对于任 阅读全文
posted @ 2020-01-31 17:06 HueiFeng 阅读(1809) 评论(6) 推荐(3) 编辑
摘要:前言 在开发过程中经常会遇到比较排序的问题,比如说对集合数组的排序等情况,基本类型都提供了默认的比较算法,如string提供了按字母进行排序,而int整数则是根据整数大小进行排序.但是在引用类型中(具有多个字段),那么这个排序当然也是取决于我们特定的值。 IComparable接口 该接口由其值可以 阅读全文
posted @ 2020-01-01 15:37 HueiFeng 阅读(4864) 评论(0) 推荐(3) 编辑
摘要:前言 按需加载对象延迟加载实际是推迟进行创建对象,直到对其调用后才进行创建初始化,延迟(懒加载)的好处是提高系统性能,避免不必要的计算以及不必要的资源浪费。 常规有这些情况: 对象创建成本高且程序可能不会使用它。 例如,假定内存中有具有 Orders 属性的 Customer 对象,该对象包含大量 阅读全文
posted @ 2019-12-06 17:17 HueiFeng 阅读(2070) 评论(0) 推荐(4) 编辑
摘要:使用Mutex类 class Program { static void Main(string[] args) { const string MutexName ="CSharpThreadingCookbook"; using (var m = new Mutex(false, MutexNam 阅读全文
posted @ 2017-08-10 13:58 HueiFeng 阅读(462) 评论(4) 推荐(2) 编辑
摘要:简介 过去普通计算机只有计算单元,却不能同时执行多个任务。然而操作系统却已经可以同时运行多个应用程序,即实现了多任务的概念。为了防止一个应用程序控制CPU而导致其他应用程序和操作系统本身永远被挂起这一可能情况,操作系统不得不使用某种方式 将物理计算单元分割为一些虚拟的进程,并给予每个程序一定量的计算 阅读全文
posted @ 2017-08-09 14:37 HueiFeng 阅读(767) 评论(1) 推荐(1) 编辑
摘要:#region 通过word域去插入相应的数据 /// <summary> /// 通过word域去进行指定位置替换数据 /// </summary> public void WordHelpers() { string filepath = FileHelper.GetDateDir(); Fil 阅读全文
posted @ 2017-06-26 14:45 HueiFeng 阅读(2294) 评论(1) 推荐(1) 编辑
摘要:问题描述:在开发系统时候运行程序突然报出“WebDev.WebServer40.exe已停止工作”的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.Open()处。 但是发现程序连接本地数据库正常,连接内网服务器数据库会报错,但是Sqlserver是可以直接连接到内网服 阅读全文
posted @ 2017-02-22 08:59 HueiFeng 阅读(591) 评论(0) 推荐(0) 编辑