随笔分类 - C# 基础
C# 语言的基础知识
摘要:Newtonsoft.Json,是.Net中开源的Json序列化和反序列化工具,官方地址:http://www.newtonsoft.com/json。 功能比较多,效率比较高,官方给出对比数据 50% faster than DataContractJsonSerializer, and 250%
阅读全文
摘要:C# Task Delay 使用 方法一: public static System.Threading.Tasks.Task Delay (int millisecondsDelay, System.Threading.CancellationToken cancellationToken); 创
阅读全文
摘要:1. 使用控件的Invoke或者BeginInvoke: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, E
阅读全文
摘要:命名空间: System.Windows.Forms 程序集: System.Windows.Forms.dll MethodInvoker 表示一个委托,该委托可执行托管代码中声明为 void 且不接受任何参数的任何方法。 public delegate void MethodInvoker();
阅读全文
摘要:从 C# 7.0 开始,C# 支持弃元,这是一种在应用程序代码中人为取消使用的占位符变量。 弃元相当于未赋值的变量;它们没有值。 因为只有一个弃元变量,甚至不为该变量分配存储空间,所以弃元可减少内存分配。 因为它们使代码的意图清楚,增强了其可读性和可维护性。 通过将下划线 (_) 赋给一个变量作为其
阅读全文
摘要:访问者模式 1.倾斜可扩展性设计 2.消息处理 代码实现: 实体类: namespace VisitorPattern { public abstract class BaseAdult { public string Name { get; set; } public abstract void
阅读全文
摘要:策略模式 代码实现: 计算服务类: namespace StrategyPattern.Service { public interface ICalculation { public int Calculate(int data1,int data2); } public class Plus:I
阅读全文
摘要:状态模式 代码实现: 交通类: namespace StatePattern { public abstract class BaseLight { private LightColor _lightColor; public abstract void Show(); public abstrac
阅读全文
摘要:观察者模式 代码实现: 事件类: namespace ObserverPattern.Subject { public class Cat { private readonly List<IObserver> _observerList = new List<IObserver>(); public
阅读全文
摘要:备忘模式 代码实现: 实体类: public class War3 { public string Race { get; set; } public string Hero { get; set; } public string Army { get; set; } public string R
阅读全文
摘要:中介者模式 1.解决对象交互问题 代码实现: 部门员工类: namespace MediatorPattern { public abstract class BasePerson { public string Name { get; set; } public abstract void Sen
阅读全文
摘要:迭代器模式 1. Yield Return 2. 提供统一的访问方式 代码实现: 食品类: public class Food { public int Id { get; set; } public string Name { get; set; } public int Price { get;
阅读全文
摘要:命令模式 1. 实现异步队列 2.数据恢复,命令撤销 代码实现: 对象: namespace CommandPattern { public class Document { public int Id { get; set; } public string Name { get; set; } }
阅读全文
摘要:责任链模式 1.逻辑封装和转移 代码实现: 上下文: public class ApplyContext { public int Id { get; set; } public string Name { get; set; } public int Hour { get; set; } publ
阅读全文
摘要:模板方法 1.定义通用处理流程,实现通用部分,可变部分留作扩展 代码实现: 模板: namespace TempleteMethodPattern { public abstract class BaseClient { public decimal Deposit { get; set; } pu
阅读全文
摘要:代理模式 1. 基于开闭原则 OCP: 对扩展开放,对修改封闭。 购物类: namespace ProxyPattern { public interface IShopping { void ChoiceProduct(string product); void PayForProduct();
阅读全文
摘要:享元模式 1.解决对象复用问题 2.不破坏原本类的封装 3.池化资源管理:避免对象重复创建和销毁(尤其是非托管资源) 4.字符串 内存分配使用是享元模式(排除部分分配) 代码实现: namespace FlyWeightPattern { public interface ILetter { pub
阅读全文
摘要:外观模式 1. 分层、封装 减少上层复杂度 代码实现: 商品下单走物流: namespace FacadePattern.User { public interface IUser { public bool CheckUser(int userId); } public class User:IU
阅读全文
摘要:装饰器模式 1.继承+组合 2. AOP编程思想的一种实现 代码实现: 员工: namespace DecoratorPattern { public abstract class AbstractEmployee { public int Id { get; set; } public strin
阅读全文
摘要:组合模式 1. 运用递归 2. 组合模式:分透明和安全 代码实现: 项目提成 namespace CompositePattern { public abstract class AbstractDomain { public string Name { get; set; } public int
阅读全文

浙公网安备 33010602011771号