NetBlog主题

C# async/await 同步思维解决异步问题方案
C#基础

C# async/await 同步思维解决异步问题方案

4122

下面是一个代码实例 static void Main() {Console.WriteLine("-------主线程启动-------");GetStrLengthAsync();Console.WriteLine("主线程继续执行");Console.WriteLine("-------主线程结束-------");Console.Read(); } static async void Get…

json是什么,json如何使用
C#基础

json是什么,json如何使用

3174

2019-06-13 更新:添加Json序列化与反序列化方法JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON …

C#装饰器模式解析
C#基础

C#装饰器模式解析

2920

装饰器模式优缺点及使用场景 优点:灵活,扩展性好,能够在不影响业务类的前提下,动态的为其添加本身不存在的功能 缺点:增加了程序的复杂程度 使用场景:为具体的业务对象附加功能职责,例如上述的游戏装备,以及培训班的各层vip,商场的多重优惠等等 /// <summary> /// 实体类…

C# Lookup类 Lookup<TKey, TSource>与 Dictionary<TKey, TSource>区别
C#基础

C# Lookup类 Lookup<TKey, TSource>与 Dictionary<TKey, TSource>区别

3544

Dictionary<TKey, TValue>只为每个键支持一个值。新类Lookup<TKey, TElement>是.NET 3.5中新增的,它类似于Dictionary<TKey, TValue>,但把键映射到一个值集上。这个类在程序集System.Core中实现,用System.Linq命名空间定义 Lookup<TKey, TElement>不…

C# 泛型类优点和泛型类功能源码
C#基础

C# 泛型类优点和泛型类功能源码

3615

第一:源代码保护。(如果你知道C++模板对泛型的实现机制,就会知道C++在编译的时候根据对泛型的调用,自动“内联”了一个实现,这样泛型的内容就暴露了,而DotNet的实现方式就不同了,泛型类和方法会被编译成IL,在执行的时候由JIT负责将IL变化为指定类型参数的本地代码,从而…

C# 用代码解析Linq查询原理
C#基础

C# 用代码解析Linq查询原理

2943

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…

C#三层架构详细解剖
C#基础

C#三层架构详细解剖

3446

三层架构分为:表现层(UI(User Interface))、业务逻辑层(BLL(Business Logic Layer))、数据访问层(DAL(Data Access Layer))再加上实体类库(Model)1、实体类库(Model),主要存放数据库中的表字段。 (1)先建立实体类库Model,打开项目,在解决方案中右键——&…

关于C# 多线程高并发调用静态方法的安全性
C#基础

关于C# 多线程高并发调用静态方法的安全性

10778

2019-05-02 更新:增加多线程高并发解决方案静态方法只有一个实例,当有静态变量的时候,对于高并发的时候,并发的所有执行都走那个方法,静态变量的值就会发生改变,导致出现问题;当然并发不安全跟方法本身没关系,跟共享的那个资源有关系比如某个变量,每个线程都对其进行操…

C#,Socket通讯原理,附加源码解释(Socket服务端和客户端)
C#基础

C#,Socket通讯原理,附加源码解释(Socket服务端和客户端)

7296

1、先启动服务端 IP和端口都为服务端 2、客户端连接到服务端 IP和端口都为服务端 3、客户端发送信息到服务端 以下是原理图以下是Socket服务端核心代码//原创来自 http://www.luofenming.com/show.aspx?id=ART2018120700001/// <summary>/// 创建Scoket 服务端/// </…

C#实现打开或关闭电脑显示器
C#基础

C#实现打开或关闭电脑显示器

4363

2021-04-14 更新感觉目前C#是一个为PC机量身定做的一门语言,写PC软件实在是太好用,以下是C#实现打开或关闭电脑显示器//引用using System.Runtime.InteropServices;和继承Form这个类private const uint WM_SYSCOMMAND = 0x0112;private const uint SC_MONITORPOWER = 0xF17…