
C#装饰器模式解析
装饰器模式优缺点及使用场景 优点:灵活,扩展性好,能够在不影响业务类的前提下,动态的为其添加本身不存在的功能 缺点:增加了程序的复杂程度 使用场景:为具体的业务对象附加功能职责,例如上述的游戏装备,以及培训班的各层vip,商场的多重优惠等等 /// <summary> /// 实体类…
装饰器模式优缺点及使用场景 优点:灵活,扩展性好,能够在不影响业务类的前提下,动态的为其添加本身不存在的功能 缺点:增加了程序的复杂程度 使用场景:为具体的业务对象附加功能职责,例如上述的游戏装备,以及培训班的各层vip,商场的多重优惠等等 /// <summary> /// 实体类…
Dictionary<TKey, TValue>只为每个键支持一个值。新类Lookup<TKey, TElement>是.NET 3.5中新增的,它类似于Dictionary<TKey, TValue>,但把键映射到一个值集上。这个类在程序集System.Core中实现,用System.Linq命名空间定义 Lookup<TKey, TElement>不…
第一:源代码保护。(如果你知道C++模板对泛型的实现机制,就会知道C++在编译的时候根据对泛型的调用,自动“内联”了一个实现,这样泛型的内容就暴露了,而DotNet的实现方式就不同了,泛型类和方法会被编译成IL,在执行的时候由JIT负责将IL变化为指定类型参数的本地代码,从而…
Student实体类 public class Student {public int Age { get; set; }public string Name { get; set; }public string QQ { get; set; } } //初始化两个集合的数据 List<int> intList = new List<int> { 1, 324, 5, 56, 123, 545, 23, 6 }; List<Student> st…
三层架构分为:表现层(UI(User Interface))、业务逻辑层(BLL(Business Logic Layer))、数据访问层(DAL(Data Access Layer))再加上实体类库(Model)1、实体类库(Model),主要存放数据库中的表字段。 (1)先建立实体类库Model,打开项目,在解决方案中右键——&…
2019-05-02 更新:增加多线程高并发解决方案静态方法只有一个实例,当有静态变量的时候,对于高并发的时候,并发的所有执行都走那个方法,静态变量的值就会发生改变,导致出现问题;当然并发不安全跟方法本身没关系,跟共享的那个资源有关系比如某个变量,每个线程都对其进行操…
1、先启动服务端 IP和端口都为服务端2、客户端连接到服务端 IP和端口都为服务端3、客户端发送信息到服务端以下是原理图以下是Socket服务端核心代码//原创来自 http://www.luofenming.com/show.aspx?id=ART2018120700001/// summary/// 创建Scoket 服务端/// /summary…
2021-04-14 更新感觉目前C#是一个为PC机量身定做的一门语言,写PC软件实在是太好用,以下是C#实现打开或关闭电脑显示器//引用using System.Runtime.InteropServices;和继承Form这个类private const uint WM_SYSCOMMAND = 0x0112;private const uint SC_MONITORPOWER = 0xF17…
using System.IO;using System.Xml.Serialization;private void TestXmlSerialize(){//原创来自 http://www.luofenming.com/show.aspx?id=ART2018112100001转载请保留此地址string ConfigPath = AppDomain.CurrentDomain.BaseDirectory + "JH.xml";string xmlData …
//如这样的一个纯数字时间格式字符串20181008232349string str="20181008232349"; //用 DateTime dt=Convert.ToDateTime(str); 这样转会转换失败//原创来自http://www.luofenming.com/show.aspx?id=ART2018100800001,如转载请保留此地址//以下是可以正常转换的两…