![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码
你の猫
拉屎是最舒服的
展开
-
开发OpenTCS的驱动程序(适配器)
开发OpenTCS的驱动程序可以参考Developer’s Guide(5.3.3)。这里简要总结一下步骤:1、创建一个类,继承自VehicleCommAdapter类。当然VehicleCommAdapter这个类是顶层的接口,不建议直接实现这个类,我们应该继承BasicVehicleCommAdapter 类,该类是一个抽象类,继承体系如下:2、第一步我们实现了驱动的类,但是如何被创建呢?即如何创建一个Adapter的实例?OpenTCS应用了工厂模式,那就需要再创建一个工厂类了,我们需要从Veh原创 2020-10-31 11:07:50 · 1380 阅读 · 0 评论 -
在C#中怎么解析JSON数据,并获取到其中的值?
比如JSON数据为:{“phantom”:true,“id”:“20130717001”,“data”:{“MID”:1019,“Name”:“aaccccc”,“Des”:“cc”,“Disable”:“启用”,“Remark”:“cccc”}}。我想得到id的值并且赋给一个变量做为select 查询的where条件。class Program { static ...原创 2019-06-22 10:16:40 · 3034 阅读 · 0 评论 -
C#里@字符d是什么意思
C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待,比如:string str = @"C:\Windows";等价于:string str = "C:\\Windows";@ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。string str = @"<script type=""text/javascript""...原创 2019-05-28 14:23:54 · 3308 阅读 · 0 评论 -
正则表达式30分钟入门教程
本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。一旦入门后,你可以从网上找到更多更详细的资料来继续学习。别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并不像你想像中的那么困难。当然,如果你看完了这篇教程之后发现自己明白了 很多,却又几乎什么都记不得,那也是很正常的–其实我认为没接触过正则表达式的人在看完这篇教程...原创 2019-05-15 17:44:05 · 325 阅读 · 0 评论 -
浅谈线程池(上):线程池的作用及CLR线程池
线程池是一个重要的概念。不过我发现,关于这个话题的讨论似乎还缺少了点什么。作为资料的补充,以及今后文章所需要的引用,我在这里再完整而又简单地谈一下有关线程池,还有.NET中各种线程池的基础。更详细的内容就不多作展开了,有机会我们再详细讨论这方面的细节。这次,还是一个“概述”性质的,希望可以说明白这方面问题的一些概念。线程池的作用其实“线程池”就是用来存放“线程”的对象池。在程序...原创 2019-05-08 09:30:42 · 142 阅读 · 0 评论 -
C#多线程和线程池
1.概念1.0 线程和进程的关系以及优缺点Windows系统是一个多线程的操作系统。一个程序至少有一个进程,一个进程至少有一个线程。进程是线程的容器,一个C#客户端程序开始于一个单独的线程,CLR(公共语言运行库)为该进程创建了一个线程,该线程称为主线程。例如当我们创建一个C#控制台程序,程序的入口是Main()函数,Main()函数是始于一个主线程的。它的功能主要 是产生新的线程和执行程序...原创 2019-05-08 08:43:13 · 484 阅读 · 0 评论 -
在C#中PeekChar()的用法
BinaryReader.PeekChar Method命名空间:System.IOAssemblies:System.IO.dll, mscorlib.dll, netstandard.dll, System.Runtime.Extensions.dll返回下一个可用的字符,并且不提升字节或字符的位置。C#public virtual int PeekChar ();返回Int3...原创 2019-05-10 11:55:14 · 1330 阅读 · 0 评论 -
JSON
JSONJSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。中文名 ...原创 2019-05-10 09:46:35 · 152 阅读 · 0 评论 -
C#多线程之旅(4)——APM初探
源码地址:https://github.com/Jackson0714/Threads先交代下背景,前面几张内容主要是介绍多线程的基本知识,这一章是因为正好接触到了APM(异步编程模型),发现APM真的很强大,其中有部分知识点涉及到了委托的BeginInvoke/EndInvoke,就由衷地想写下APM相关的知识。强大的异步处理模型,不得不被它折服!一、简单的串行执行程序...原创 2019-05-07 15:33:17 · 202 阅读 · 0 评论 -
C#中使用ref和out的一点认识
ref通常我们向方法中传递的是值,方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不会受到影响。 这种情况是通常的,当然还有另外一种情况,我们向方法传递参数的形式,引用(ref)和输出(out)。有时,我们需要改变原来变量中的值,这是我们可以向方法传递变量引用,而不是变量的值,引用是一个变量,他可以访问原来变量的值,修改引用将修改原来变量的值。变量...原创 2019-05-14 16:06:49 · 77 阅读 · 0 评论 -
C# SynchronizationContext以及Send和Post使用总结
本文主要介绍一下C#中同步上下文(SynchronizationContext),和同步上下文中的Send方法和Post使用总结。1、(SynchronizationContext)同步上下文的作用SynchronizationContext其实就是实现线程之间通讯的。2、创建(SynchronizationContext)同步上下文的方法1)直接new创建一个Synchro...原创 2019-05-14 15:37:22 · 5796 阅读 · 0 评论 -
C#中如何用程序代码来提取和存入数据
命名空间System.Data.Oledb的是.NET Framework Data Provider for OLE DB。可用来存取OLE DB数据源。使用OleDbDataAdapter,配合内存的DataSet,可以查询及更新数据源。ADO.NET的DataRaeder对象能读取数据库记录;DataAdarter能从数据源提取数据,并填入DataSet的数据表。如果要用C#程序代码来编...原创 2019-05-09 16:21:25 · 905 阅读 · 0 评论 -
C#多线程之旅(3)——线程池
先交代下背景,写《C#多线程之旅》这个系列文章主要是因为以下几个原因:1.多线程在C/S和B/S架构中用得是非常多的;2.而且多线程的使用是非常复杂的,如果没有用好,容易造成很多问题。多线程,有利也有弊,使用需谨慎。代码下载源码地址:https://github.com/Jackson0714/Threads一、介绍无论你什么时候开始一个线程,几百毫秒会花在整理一个新...原创 2019-05-06 15:13:58 · 220 阅读 · 0 评论 -
线程池详解(下):相关实验及注意事项
线程池是.NET中的重要组件,几乎所有的异步功能依赖于线程池。之前我们讨论了线程池的作用、独立线程池的存在意义,以及对CLR线程池和IO线程池进行了一定说明。不过这些说明可能有些“抽象”,于是我们还是要通过试验来“验证”这些说明。此外,我认为针对某个“猜想”来设计一些试验进行验证是非常重要的能力,如果您这方面的能力略有不足的话,还是尽量加以锻炼并提高吧。CLR线程的使用与创建首先,我们准备这样...原创 2019-05-08 11:06:40 · 110 阅读 · 0 评论 -
线程池详解(中):独立线程池的作用及IO线程池
在上一篇文章中,我们简单讨论了线程池的作用,以及CLR线程池的一些特性。不过关于线程池的基本概念还没有结束,这次我们再来补充一些必要的信息,有助于我们在程序中选择合适的使用方式。独立线程池上次我们讨论到,在一个.NET应用程序中会有一个CLR线程池,可以使用ThreadPool类中的静态方法来使用这个线程池。我们只要使用QueueUserWorkItem方法向线程池中添加任务,线...原创 2019-05-08 10:20:26 · 893 阅读 · 0 评论