
c#
文章平均质量分 82
tony_0620
欢迎
展开
-
c#.net2010总结
1、函参值传递和址传递 对于址传递,不但要在构造函数时指定ref,而且要在调用函数时指定ref关键字 C#不允许ref参量在声明的函数体中初始化 out参数确是恰恰相反的,out在声明函数时,必须被看作是为赋值变量 若,已赋值的变量被作为out参数时,该变量的值将丢失。 2、委托 delegate原创 2013-06-09 11:40:54 · 478 阅读 · 0 评论 -
C#多线程
Winform界面中,将事务放在新开的线程中操作是十分有用的做法,因为这样可以增加用户体验,减少耗时。对这些C#线程的控制,常常有下面这四种情况: 1. 启动线程; 2. 线程间通讯; 3. 线程终止; 4. 线程中的异常处理; 下面总结一些上面这些C#线程操作的常用方法。 C#线程控制1. 启动C#线程 ◆如果是需要很频繁的开线程,会使用线程池(微软的或自己写的) ◆Thread转载 2013-06-28 10:16:46 · 803 阅读 · 0 评论 -
转:C#中调用Windows API时的…
在C#中做很多应用需要使用win32 API,但发现原型函数的一些数据类型看起来非常费劲,甚至在C#中“没有”这种数据类型,查阅了一下资料,数据类型对应关系整理如下,希望对大家有用: BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System.Int16 COLORREF=System.UInt32 DWORD=Sy原创 2013-06-09 11:42:38 · 508 阅读 · 0 评论 -
转:c#接口和抽象类的区别
一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相原创 2013-06-09 11:42:36 · 469 阅读 · 0 评论 -
转:C#索引器
索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。 1、索引器的定义 C#中的类成员可以是任意类型,包括数组和集合。当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。 定义索引器的方式与定义属性有些类似,其一般形式如下: [修饰符] 数据类型 this[索引类型 index] { get{//获得属性的代码}原创 2013-06-09 11:42:29 · 447 阅读 · 0 评论 -
转:C#多线程编程简述
a.启动线程 顾名思义,“启动线程”就是新建并启动一个线程的意思,如下代码可实现: Thread thread1 = new Thread(new ThreadStart( Count)); 其中的 Count 是将要被新线程执行的函数。 b.杀死线程 “杀死线程”就是将一线程斩草除根,为了不白费力气,在杀死一个线程前最好先判断它是否还活着(通过 IsAlive 属性),然后就原创 2013-06-09 11:42:27 · 527 阅读 · 0 评论 -
c#中配置文件(app.config)的使用
//open app.config Configuration cfnData = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); //add app settings cfnData.AppSettings.Settings.Add("1","0"); //remove setti原创 2013-06-09 11:42:40 · 496 阅读 · 0 评论 -
串行通信程序(C#)
本程序采用的是DataReceived方法 1 发送字节 字节的转换 bySend[0] = Byte.Parse(textBox1.Text, System.Globalization.NumberStyles.HexNumber); 发送字节 clsComPort.Write(bySend, 0, 1); 2 接收字节 接收事件初始化 clsComPort.DataReceived +原创 2013-06-09 11:41:07 · 670 阅读 · 0 评论 -
c# winform委托实例
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; namespace test_c原创 2013-06-09 11:41:14 · 739 阅读 · 0 评论 -
c#中seralport的一些用法
很经典!!!原文地址:c#中seralport的一些用法作者:静水流深 SerialPort中串口数据的读取与写入有较大的不同。由于串口不知道数据何时到达,因此有两种方法可以实现串口数据的读取。一、线程实时读串口;二、事件触发方式实现。 由于线程实时读串口的效率不是十分高效,因此比较好的方法是事件触发的方式。在SerialPort类中有DataReceived事件,当串口的读缓存有数据到达时则转载 2013-06-09 11:41:05 · 941 阅读 · 0 评论 -
转:abstract、virtual、override…
abstract:可以和类、方法、属性、索引器及事件一起使用。 在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。 1abstract class Animals 2{ 3 abstract public void Run(); 4} 5 6class Cat: Animals原创 2013-06-09 11:42:33 · 486 阅读 · 0 评论 -
转:C#中base关键字的几种用法
base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类上已被其他方法重写的方法。 例如: 2.1关于base调用基类构造函数 public class A { public A() { Console.WriteLine("Build A"); } } p原创 2013-06-09 11:42:31 · 747 阅读 · 0 评论 -
C# winform退出方法
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出; 2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出; 3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;原创 2013-06-09 11:41:11 · 834 阅读 · 0 评论 -
C#子线程的控件操作
引言:C#子线程直接操作控件会出现异常,因为子线程和运行窗体的线程是不同的空间。本文介绍如何通过Invoke方法实现C#子线程操作窗体上的控件。 有关C#子线程的控件操作 一般来说,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能简单的通过控件对象名来操作,但不是说不能进行操作,微软提供了Invoke的方法,转载 2013-06-28 10:24:57 · 863 阅读 · 0 评论