自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 C#之list<T>

List&lt;T&gt;类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList&lt;T&gt; 泛型接口。泛型的好处: 它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行,向下强制类型转换,所以性能得到提高。性能注意事项: List[T]两点优势 (1)在决定使用IList&lt;T&g...

2019-02-25 16:25:30 388

原创 C之泛型

一、什么是泛型泛型是C#2.0推出的新语法,不是语法糖,而是2.0由框架升级提供的功能。我们在编程程序时,经常会遇到功能非常相似的模块,只是它们处理的数据不一样。但我们没有办法,只能分别写多个方法来处理不同的数据类型。这个时候,那么问题来了,有没有一种办法,用同一个方法来处理传入不同种类型参数的办法呢?泛型的出现就是专门来解决这个问题的。二、为什么使用泛型先来看下面一个例子:u...

2019-02-25 16:22:20 2916

原创 C#之委托

1、什么是委托从数据结构来讲,委托是和类一样是一种用户自定义类型。委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。2、委托的定义委托是类型,就好像类是类型一样。与类一样,委托类型必须在被用来创建变量以及类型对象之前声明。委托的声明原型是delegate &lt;函数返回类型&gt; &lt;委托名&gt; (...

2019-02-25 15:21:41 226

原创 事件--Event

public delegate void yin(int s);public event yin intants;另外一段代码给intants赋值后, 运行函数intants(4),这个event不要好像也可以,要和不要有什么区别呢?-------------------------------------------------------------------------------...

2019-02-25 14:23:48 180

转载 接口的使用场景

C#(sharp)接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的。我们都知道,如果继承接口之后,必须在自己的类里面实现接口中的方法.按照我们前面的方式直接不继承接口,在类中实现也是可以的....

2019-02-24 22:05:11 1446

转载 C#--interface的规范与使用场景

特征:1、接口是一种规范,实现多态2、接口不能被实例化。3、接口中的成员不能加“访问修饰符”,接口中的成员访问修饰符默认为public 4、接口中的成员不能有任何实现,所以不能够被实例化5、接口中只有方法、属性、索引器、事件,不能够有“字段”。6、接口与接口之间可以继承,并且可以多继承。7、实现接口的自雷必须实现该接口的全部成员。所以接口要遵循接口隔离原则,降低功能之间的耦合度。8...

2019-02-24 21:49:35 755

转载 Invoke和BeginInvoke

(一)Control的Invoke和BeginInvoke我们要基于以下认识:(1)Control的Invoke和BeginInvoke与Delegate的Invoke和BeginInvoke是不同的。(2)Control的Invoke和BeginInvoke的参数为delegate,委托的方法是在Control的线程上执行的,也就是我们平时所说的UI线程。我们以代码(一)来看(Contr...

2019-02-21 09:46:25 130

转载 OPCDAAuto.dll的C#使用方法浅析(转)

上次研究了.Net版本的OPC API dll,这次我采用OPCDAAuto.dll来介绍使用方法。以下为我的源代码,有详细的注释无需我多言。编译平台:VS2008SP1、WINXP、KEPServer除此之外,我也安装了西门子的Net2006和Step7,其中Net2006是负责OPC的,可能会在系统中创建一些dll之类的,并提供几个OPC服务器以下是我Program.cs(基于控制台的...

2019-01-16 20:14:26 816

转载 数据库中使用外键和不使用外键有什么区别

       今天听了一个企业技术总监的宣讲,结果听说在他开发系统的过程中,都没有用到外键,这让我很惊讶,赶紧上网搜索了一些资料看了看,终于明白了不用外键的原因。这是一篇关于是否使用外键的讨论,讲的很有道理:       对于主/外键/索引来说,在一些开发团队中被认为是处理数据库关系的利器,也被某些开发团队认为是处理某些具体业务的魔鬼,您的观点呢?在实际应用中您会采取哪种方式?大家共同观点:...

2018-12-13 21:05:47 494

转载 C# 中使用using的三种方法

1.using指令using+命名空间,这种方法基本学习过C#的都用过,好处在于,写代码的时候不需要指定详细的命名空间using System.Windows.Media; using System.Windows.Media.Imaging;2.using语句是用来简化资源释放的,在一定的范围内有效,除了这个范围时,自动调用IDisposable释放掉,当然并不是所有的类都适用...

2018-12-07 10:52:07 1536

转载 C#文件操作基础之File类和FileInfo类

文件和I/O流的差异:文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。因此对于文件,我们常常想到目录路径,磁盘存储,文件和目录名等方面。I/O流提供一种后备存储写入字节和从后备存储读取字节的方式。后备存储可以为多种存储媒介之一。System.IO命名空间中的常用类:BinaryReader     用特定的编码将基元数据类型读作二进制值BinaryWriter  ...

2018-10-27 22:05:13 957

原创 C#读写txt文件方法

  计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的字符(比如汉字)以及一些特殊字符(比如€),就引入了Unicode字符集。基于Unicode字符集的编码方式有很多,比如UTF-7、UTF-8、Unicode以及UTF-32。在Windows操作系统中,一个文本文件的前几个字节是用来指定该文件的编码方式的     如果你使用NotePad或WordPad来打...

2018-10-27 21:28:33 548

原创 C#的事件

具体方法:定义事件 委托定义: public delegate void EventFountion(Param param); 事件定义: public event EventFountion eventFountion; 调用事件: if (eventFountion!= null) eventFountion(this.param); 使用事件 事件触发后的...

2018-10-26 18:11:24 135

原创 Modbus_master/slave_TCP/RTU

Modbus是一种串行通信协议,是Modicon于1979年为使用可编程逻辑控制器PLC而发表的.MODBUS是工业领域通信协议的业界标准,并且现在是工业电子设备之间相当常用的连接方式.Modbus比其他通信协议使用的更广泛的主要原因有:      1)公开发表并且无版税要求      2)相对容易的工业网络部署      3)对供应商来说,修改移动原生的位元或字节没有很多限制Modb...

2018-10-26 15:06:51 19300

原创 MODBUS-寄存器与功能码学习

分类 简称 起始地址 结束地址 能够使用的功能码 输出逻辑线圈/(可读写位)/(DI/O)(如继电器开关控制) 0x 00000 09999 0x01读一组逻辑线圈 0x05写单个线圈...

2018-10-26 14:35:25 3561 1

转载 DL/T645规约解析

摘要:DL/T645规约是针对电表通信而制定的通信协议,主要有两个版本,分别是DL/T645-97和DL/T645-07,97代表是97年制定的协议,07则是2007年修正后的协议,而且基本上07版出来时,是要替代97版的通信协议的,但是比较坑的是,目前很多厂家的电表是支持这两种通信协议的,目前新表主流还是07版的。下面就解析这两种表通信协议:DL/T645-07:数据帧格式:注意事项...

2018-10-25 16:49:21 3462

转载 modbus协议

Modbus是一种单主站的主/从通信模式。Modbus网络上只能有一个主站存在,主站在 Modbus网络上没有地址,从站的地址范围为 0 - 247,其中 0 为广播地址,从站的实际地址范围为 1 - 247。 Modbus通信标准协议可以通过各种传输方式传播,如 RS232C、RS485、光纤、无线电等。 Modbus具有两种串行传输模式,ASCII 和 RTU。它们定义了数据如何打包、解码...

2018-10-25 15:58:11 530

原创 C#--零碎总结

一、单例模式1、非线程安全        public static MainForm instance;        public static MainForm CreateForm()        {            if (instance == null || instance.IsDisposed)            {                instance =...

2018-07-03 15:26:42 127

原创 Control.BeginInvoke()理解之不能在非创建UI控件的线程中操作UI元素

如下实例程序:1、声明委托类型public delegate void valueChanged(object clientHandle, DataValue value);2、委托实例化,并调用实例对象 m_Subscription.AddDataMonitoredItem(nodeId, item, ClientApi_ValueChanged, 100, out serverHandle);...

2018-06-27 10:18:13 232

转载 Control.Invoke()和Control.BeginInvoke()

不能在非创建UI控件的线程中操作UI元素,否则会和UI控件创建线程(一般是主线程)产生冲突,造成不可预料的后果。该如何解决这个问题呢?除了上一节所讲的BackgroundWorker和Timer以外,微软将Control类实现了ISynchronizeInvoke接口,提供了Invoke和BeginInvoke方法来提供让其它线程更新GUI界面控件的机制。下边还是通过一个例子给大家讲解一下Cont...

2018-06-27 09:35:08 2357

翻译 c# 委托声明的地方(可以在类内部可以在类外部)

在C#中使用一个类时,分两个阶段。首先需要定义这个类,即告诉编译器这个类由什么字段和方法组成。然后(除非只使用静态方法)实例化类的一个对象。使用委托时,也需要经过这两个步骤。首先定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托代表了哪种类型的方法,然后创建该委托的一个或多个实例。定义委托的语法如下:delegate void VoidOperation(uint x);在这个示例中,...

2018-06-26 13:55:27 3285

原创 Control.BeginInvoke()和delegate的BeginInvoke()的区别

      这两者的区别在于委托的BeginInvoke方法是新起一个线程(辅助后台线程)来执行委托,而原线程继续往下执行;Control.BeginInvoke则是将委托强制传递至UI线程执行,所以可能会造成UI线程假死。      所以想要执行异步,应该用delegate的BeginInvoke方法;而Control.BeginInvoke方法主要用途是让子线程可以跨线程操作UI线程的控件。C...

2018-06-19 16:30:36 540 1

原创 C#中跨线程访问控件处理方式

     C#中禁止跨线程直接访问控件,InvokeRequired是为了解决这个问题而产生的,当一个控件A(由线程Tread A创建)的InvokeRequired属性值为真时,说明有一个创建它以外的线程(Tread B)想访问它。此时,若Tread B线程直接访问控件A,则系统会报异常,需在Tread B线程内部调用new 控件A.MethodInvoker(LoadGlobalImage)类...

2018-06-19 14:40:23 4506

转载 借实例理解C#中多线程

一、基本概念1、进程首先打开任务管理器,查看当前运行的进程:从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢?进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间是相对独立的,...

2018-06-17 18:23:38 197

原创 回调方法及invoke、begininvoke理解

回调方法    class小明的方法Hello()调用class大头的方法world(),方法world( )又调用小明的方法Hello()………………,这不是成死循环了,显然回调不是这样搞的。    classA的方法first()调用classB的方法second(),而classB的方法second()又调用classA的方法helloWorld(),此时helloWorld()就是他妈的回...

2018-06-17 10:18:28 3241 1

原创 C#总结---方法的out参数和ref参数

我们知道,在c#中,当我们在一个方法中想要访问另一个方法中的变量的时候,有两种解决方案---参数和返回值。但当需要返回多个值,并且是不同类型的值的之后应该怎么办呢?解决方案可以是(1)将所有类型数据转换成字符串类型,到最后再都转换回来,这样就比较麻烦了(2)利用方法的out参数和ref参数下面要跟大家介绍的就是第二个简单的方法:方法的out和ref参数在讲解方法的out和ref参数之前我们先看看最...

2018-06-15 10:24:34 364

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除