随笔分类 - C#
摘要:最近,在研究Invoke的使用,但是真的是一头雾水,网上看了很多资料,感觉还是看不懂,因为对于入门级的小白,想像不出Invoke的应用场景,更谈不上如何用了? 1、Invoke到底是什么? Invoke的本质只是一个方法,方法一定是要通过对象来调用的。 一般来说,Invoke其实用法只有两种情况:
阅读全文
摘要:一. Awit和async的由来: await/async本身是一个语法糖,编译器提供的一个简化编程的功能; 在C#升级和.net Framework升级的时候, 产生的, 所以说并不是CLR的产物 二. 用法: a) Async出现在方法的声明上, 任何一个方法添加一个async关键字都不会报错
阅读全文
摘要:简介 SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架。你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作,但是你却可以使用 SuperSocket 很容易的开发出一款 Socket 服务器端软件,例
阅读全文
摘要:C#下使用XmlDocument操作XML详解 发布时间:2023/06/08 目录一、XML DOM概述二、XML成员1、XMl节点:XmlNode1、属性:2、方法:2、XML文档:XMLDocument1、属性:2、方法:3、事件:3、XML元素:XmlElement1、属性:2、方法:三、创
阅读全文
摘要:XPath 是 XML 的内容,这里 SelectNodes 是 C# 中 XmlDocument 或 XmlNode 的一个方法。SelectNodes 使用 XPath 来选取节点。 重要语法 SelectNodes("item") 从当前节点的儿子节点中选择名称为 item 的节点。 Sele
阅读全文
摘要:7(自定义CommandLineProtocol 命令行协议) 目录 一、前言 二、创建一个自定义命令行协议的工程项目 三、安装SuperSocket和SuperSocket.Engine 1、进入【管理NuGet程序包】 2、安装SuperSocket 3、安装SuperSocket.Engine
阅读全文
摘要:5(探索自定义AppServer、AppSession,Conmmand,用配置文件App.comfig启动服务器) 目录 一、为什么要使用自定义类AppServer、AppSession,Conmmand 二、为什么要通过配置文件App.comfig启动服务器 三、创建工程项目 四、下载Super
阅读全文
摘要:简介 SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架。你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作,但是你却可以使用 SuperSocket 很容易的开发出一款 Socket 服务器端软件,例
阅读全文
摘要:C# 特性与反射 所有 .NET 支持的语言编写出来的程序,在对应的编译器编译之后,会先产出程序集,其主要内容是中间语言 IL 和元数据。之后,JIT 再将 IL 翻译为机器码(不同机器实现方式不同)。IL 使得跨平台成为可能,并且统一了各个框架语言编译之后的形式,使得框架实现的代价大大降低了。比如
阅读全文
摘要:文章目录 一、前言 二、认识 2.1. 基于任务的多线程编程 2.2. 隐式地创建并运行一个任务 2.3. 显示地创建并运行一个任务 2.3.1. Task常规使用 2.3.2. Task.Run() 2.3.3. Task.Factory.StartNew() 2.3.4. 带有返回值的Task<
阅读全文
摘要:关于Queue(不安全)和ConcurrentQueue(安全)的总结 最近一直迷茫于两种队列Queue和ConcurrentQueue,不清楚他们的区别,看资料一直说他们一个线程安全【ConcurrentQueue】,一种是线程不安全队列【Queue】,简单的理解就是在多线程的 情况下,Concu
阅读全文
摘要:C# 回调函数的实现? 被回调的函数其实是作为参数传递给要执行的函数的。那如何才能将函数作为参数呢?当然是使用委托了,委托的知识这里就不讲解了。这样的话我们就很好理解了,那我们就开始实现起来。首先定义一个委托:delegate void DelegateDone(); //定义一个无返回值的委托再定
阅读全文
摘要:有限状态机FSM(finite state machine) 一 有限状态机又称有限自动状态机,它拥有有限数量的状态,每个状态代表不同的意义,每个状态可以切换到 零-多 个状态。任意时刻状态机有且只能处在一个状态。有限状态机可以表示为一个有向图。如下图 从图中可以看出一个学生包含四个状态:吃饭、休息
阅读全文
摘要:有限状态机 FSM(Finite State Machine) 状态机四要素现态、条件、动作、次态 现态:是指当前所处的状态条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态转移。动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必
阅读全文
摘要:特性是用于在运行时传递程序中各种元素(类、方法、结构、枚举、组件等)的行为信息的声明性标签。 官方的解读不好理解,举个常用的例子,平时会在类的上面加上[Serializable],Serializable就是TestClass这个类的一个特性,它表示这个类是可以被序列化的。如下图: .Net框架提供
阅读全文
摘要:一、反射简介 1.1、反射的说明 反射:指程序可以访问、检测和修改它本身状态或行为的一种能力(即:审查元数据并收集关于它的类型信息的能力)。 ①元数据(编译以后的最基本数据单元:指程序和程序类型本身的的信息,保存在程序的程序集中)可以理解为一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表
阅读全文
摘要:自定义事件: 这里主要模拟刷银行卡,手机提示刷卡信息的过程。 声明一个委托类型 public delegate void DelMethod(string bankName,decimal deposit,decimal amount); //委托与类平级 创建一个银行卡类,刷卡的时候会触发通知事件
阅读全文
摘要:以下为经过实测的EventHandler 使用例子: //定义事件,这里有两种方式,当前例子使用方式2,方便实际传参;//public event EventHandler mEventHandler; //方式1,默认用法;public event EventHandler<SelfEventAr
阅读全文
摘要:Arduino 入门学习9 OpenBlock 可视化开发工具 一、简介1. S4A2. ArduinoScratch3. OpenBlock 二、操作步骤1. 准备 Arduino 开发板(1) 安装 Arduino 开发IDE(2) 从系统-设备管理器找到arduino的端口(3) 下面测试Ar
阅读全文
摘要:linq可以对多种数据源和对象进行查询,如数据库、数据集、XML文档、数组等。 通过对linq的使用,可以减少代码量并优化检索操作。 LINQ关键字 from 指定数据源和范围变量 where 根据布尔表达式(由逻辑与 或 等组成)从数据源中筛选元素 select 指定查询结果中的元素所具有的类型或
阅读全文