分类 C# 下的文章

C# Lock和await

如果试图在 lock 块中使用 async 关键字时使用 lock 关键字,会得到这个编译错误:cannot await in the body of a lock statement。原因是在async 完成之后,该方法可能会在一个不同的线程中运行,而不是在async 关键字之前。lock 关键字需要同一个线程中获取锁和释放锁。

阅读剩余部分

C#递归

整个系列的所有代码和文档都在gitee和github上共享。

https://gitee.com/Juster-zhu/JusterSpaceStation

https://github.com/JusterZhu/JusterSpaceStation

  • 递归的概念

简单的说,递归就是方法自己调用自己,每次调用时传入不同的变量。递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。

阅读剩余部分

C#反射+抽象工厂模式切换不同的实现方法

概述

工厂模式(Abstract Factory)定义 :提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

阅读剩余部分

C# ReaderWriterLockSlim类

为了使锁定机制允许锁定多个读取器(而不是一个写入器)访问某个资源,可以使用 ReaderWriterLockSlim 类。这个类提供了一个锁定功能,如果没有写入器锁定资源,就允许多个读取器访问资源,但只能有一个写入器锁定该资源。

阅读剩余部分