![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#语言
Shadow_Walker_yz
这个作者很懒,什么都没留下…
展开
-
c#属性的通俗解释
你如果在网上搜下,当然结果会有一堆。所以我也没有必要从网上复制一些概念过来。就按自己理解的来。首先我来个简单的假设。有个用户类(Users) ,里面定义了一个表示年龄的字段 _age 。如果我在其它的类里需要用到Users类里的_age字段(如获取用户年龄) 只能读取,不能修改。你将会怎么设计Users类里的年龄字段_age呢。是private 、public、还是什么呢?如果是pr转载 2014-06-24 09:27:27 · 550 阅读 · 0 评论 -
基于Linux的ARM与上位机文件传输
关于上位机以及arm的串口编程,网上的资料很多,不过两者代码同时给出的资料却很少,本菜鸟经过几天时间的煎熬,终于实现了用自己编写的上位机软件传输文件到arm板上。上位机使用的是C#,arm上使用的Linux C,使用的文件传输协议为XModem。关于XModem协议的格式,网上有很多资料,这里就不细说了。原创 2014-09-25 19:59:58 · 2778 阅读 · 0 评论 -
C#串口编程
刚到新公司我独立做的第一个小项目需要用到串口通讯方面的知识,虽说对于串口通讯并不陌生,但是具体怎么用C#来实现还真是没有十足的把握,于是就上网搜C#串口编程方面的资料来看。经过一周的学习终于把C#串口编程这一块弄清楚了,再接下来就是业务方面的处理了,就容易多了。前前后后总共历时一个月的时间项目总算做完了,确实挺开心的!说真的,毕业这么多年了,这是我真正独立完成的一个小项目,虽说小软件的功能转载 2014-09-17 15:28:25 · 712 阅读 · 0 评论 -
C# String.Format格式说明
C#格式化数值结果表字符说明示例输出C货币string.Format("{0:C3}", 2)$2.000D十进制string.Format("{0:D3}", 2)002E科学计数法1.20E+0011.20E+001G常规string.Fo转载 2014-11-07 12:18:47 · 317 阅读 · 0 评论 -
c#多线程定时器
实验表明,在c#程序的一个线程中,若使用原创 2014-10-27 14:24:25 · 658 阅读 · 0 评论 -
Visual Studio 2008过期的解决办法
方法一:(安装的时候)VS2008中英文正式版序列号1.Visual Studio 2008 Professional Edition: XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT2.Visual Studio 2008 Team Test Load Agent: WPX3J-BXC3W-BPYWP-PJ8CM-F7M8T3.Visual Studio 20转载 2014-11-18 08:09:00 · 2543 阅读 · 0 评论 -
c# 剪贴板操作
先引用一下其它高手的话: 剪贴板是Windows操作系统中最常用的功能之一,它用来从一个应用程序向另一个应用程序传递数据,可以是文本,图象,甚至是程序对象。不过剪贴板也有限制,它在某个特定的时间只能指向一块内容,每一个随后复制的内容都会取代先前的内容。为了在C#中操作剪贴板(包括内容的读取和写入)需要使用到System.Windows.Forms.Clipboard类 接下来我们就通过程序向剪转载 2015-01-08 08:28:10 · 788 阅读 · 0 评论 -
c#产生指定区间的随机数
C#生成指定数目的互不相同的随机数来源:中国自学编程网 发布日期:2008-06-18 Dotnet.Frameword中提供了一个专门产生随机数的类System.Random,计算机并不能产生完全随机的数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了。 在使用随转载 2015-01-13 20:38:19 · 2315 阅读 · 0 评论 -
C#短时间内产生不大量重复的随机数
在C#编程中,经常会碰到产生随机数的情况,并且是在短时间内产生一组随机数。如果这组随机数中有大量重复的,则达不到我们的要求。生成随机数可以用伪随机数发生器Random,受种子控制生成伪随机数,默认以当前时间值为种子。如果程序运行的很快,就会导致在几乎同一时刻运行多次,肯定会有重复的。比如我们要生成1到10之间的5个随机数,则经常会产生 2 2 1 1 1这样的情况,那么如何得到非常随机的不那么重复转载 2015-01-14 09:46:40 · 1193 阅读 · 0 评论 -
C#时常需要调用C++DLL
在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返回字符串是,现总结一下,分享给大家:VC++中主要字符串类型为:LPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTR等但转为C#类型却不完全相同。主要有如下几种转换:将string转为IntPtr:IntPtr System.转载 2015-02-09 15:33:14 · 328 阅读 · 0 评论 -
StructLayout特性
StructLayout特性StructLayout特性 公共语言运行库利用StructLayoutAttribute控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列。如果要将类传递给需要指定布局的非托管代码,则显式控制类布局是重要的。它的构造函数中用 LayoutKind值初始化 StructLayoutAttribute 类的新实例。 L转载 2015-02-12 11:29:36 · 622 阅读 · 0 评论 -
初识IntPtr
近来研究指针,在C#中谈指针,就不得不谈IntPtr,以下是我对IntPtr的初步了解,一些基础。一:什么是IntPtr先来看看MSDN上说的:用于表示指针或句柄的平台特定类型。这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄、它是一个平台特定类型。对于它的解释,这个哥们写的比较好:It's a class that wraps a pointer转载 2015-02-12 13:12:58 · 472 阅读 · 0 评论 -
解析XML【C#】
1.XML元素XML元素包含一个开标记、元素中的数据、闭标记例如:book name其中book是元素名称 book name是元素数据元素名称区分大小写每一个XML文档中必须有一个根元素2.XML属性属性添加在元素的开标记内或者属性的值可以用双引号也可以用单引号3.元素与属性举例book name上述两种没有本质的区别,但使用时建议使用第一种转载 2015-02-12 13:26:26 · 424 阅读 · 0 评论 -
关于c#几个事件处理函数能否并行运行的实验
为了研究c#中几个事件处理函数能否并行运行,设计了一下实验原创 2014-10-14 09:07:53 · 1628 阅读 · 0 评论 -
C#调用md5方法
MD5简介: MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法。换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,转载 2014-10-17 11:37:16 · 1123 阅读 · 0 评论 -
C#中方法Show和ShowDialog的使用区别
面对多窗口的调用的时候,我们往往不喜欢窗口之间的随意切换,那样我们还有花费时间寻找我们要用的窗口,而且,一但出现问题,窗口的顺序也有可能被再次打乱,很是不顺手,那么我们怎么办呢?我们可以将show方法转化为showdialog方法,顾名思义,showdialog是一个进行路经绑定的show方法,他是不可以自由切换的,换言之,就是,当你没有关闭你当前页的前提下,你是无法关闭该页面后面的任一页面的,转载 2014-06-23 11:48:33 · 559 阅读 · 0 评论 -
C#关于AutoResetEvent的使用介绍
AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。如果AutoResetEvent 处于非终止状态,则该线程阻塞,并等待当前控制资源的线程通过调用 Set 发出资源可用的信号。调用 Set 向 AutoResetEvent 发信号以释放等待线程。AutoRe转载 2014-10-22 10:03:35 · 324 阅读 · 0 评论 -
c#互斥锁
互斥锁(Mutex)互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它。互斥锁可适用于一个共享资源每次只能被一个线程访问的情况 函数://创建一个处于未获取状态的互斥锁Public Mutex();//如果owned为true,互斥锁的初始状态就是被主线程所获取,否则处于未获取状态 Public Mutex(bool owned); 如果要获取一个转载 2014-10-16 15:13:21 · 465 阅读 · 0 评论 -
c#多线程
引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其实合转载 2014-10-16 13:55:39 · 833 阅读 · 0 评论 -
C#委托
1引言编辑c#委托和事件它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里憋得慌,浑身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework[1] 中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。2参数编辑我们先不管这个标题如何的绕口,转载 2014-10-15 10:56:55 · 304 阅读 · 0 评论 -
C# SerialPort使用方法
SerialPort中串口数据的读取与写入有较大的不同。由于串口不知道数据何时到达,因此有两种方法可以实现串口数据的读取。一、线程实时读串口;二、事件触发方式实现。由于线程实时读串口的效率不是十分高效,因此比较好的方法是事件触发的方式。在SerialPort类中有DataReceived事件,当串口的读缓存有数据到达时则触发DataReceived事件,其中SerialPort.Receive转载 2014-10-14 13:17:30 · 527 阅读 · 0 评论 -
上位机与arm串口通信实验
C#串口编程(2014-09-17 15:28)原创 2014-09-18 13:52:50 · 1766 阅读 · 0 评论 -
try catch finally 用法
1、将预见可能引发异常的代码包含在try语句块中。2、如果发生了异常,则转入catch的执行。catch有几种写法:catch这将捕获任何发生的异常。catch(Exception e)这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。catch(Exception的派生类 e)这将捕获派生类定义的异常,例如,我想捕获一个无效转载 2014-11-11 08:12:54 · 427 阅读 · 0 评论 -
同一个文件在windows和linux下计算md5哈希不一致的原因
最近项目需要,需要对客户传过来的文件进行MD5校验,在实现的过程中前前后后遇到了若干问题,在这里总结一下。md5的计算采用openssl实现,具体代码网上很多,这里不再赘述。需要注意的问题1 读取文件内容时,文件打开方式要用二进制方式(rb),因为用户文件有可能是linux格式,如果用文本方式打开,可能会改变原始的内容,造成计算不准。2 结果检验。windows可以随便下载一个md5计原创 2014-11-07 12:20:10 · 2386 阅读 · 0 评论 -
关于上位机与采集器传输文件时有时不响应用户指令问题的解决
经过将近两个礼拜的编码调试工作,基本实现了采集器与上位机原创 2014-11-04 10:16:35 · 879 阅读 · 0 评论 -
关于上位机与arm使用自定义协议通过串口传输文件时遇到的疑难问题的解决
自定义了一个文件传输协议,根据此协议原创 2014-11-03 14:20:57 · 1074 阅读 · 0 评论 -
C#多线程实验
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Thr原创 2014-10-25 22:46:33 · 649 阅读 · 0 评论 -
c#中的get和set
get set是用来扩展域的,也就是C里的变量,只是用起来更加灵活而己。看以下代码:using System;public class cls{ private int book;//定义一个域(也可以叫变量,只是面向对像里都这么叫,使用起来也更加方便) public int Book { get { Console.WriteLine("dsf");转载 2014-06-23 11:37:35 · 657 阅读 · 0 评论 -
C#中正则表达式的使用
目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。那么,什么是正则表达式,怎么定义正则表达式呢? 一、正则表达式基础l 什么是正则表达式 在编写字符串的转载 2015-06-07 16:30:42 · 453 阅读 · 0 评论