C#
ab13653777822
这个作者很懒,什么都没留下…
展开
-
C#事件
发布器(publisher)是一个包含事件和委托定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。订阅器(subscriber)是一个接受事件并提供事件处理程序的对象。在发布器(publisher)类中的委托调用订阅器(subscriber)类中的方法(事件处理程序)。声明事件(Event)在类的内部声明事件,首先...原创 2020-04-29 17:20:51 · 206 阅读 · 0 评论 -
C# Invoke和BeginInvoke
Invoke和BeginInvoke分为两种情况:控件中和委托中委托中委托实例.Invoke()和直接调用委托效果是一样的,是同步的,阻塞的。在同一个线程上同步执行。委托实BeginInvoke()是异步的,非阻塞的,在线程池线程上异步执行。Invoke()案例 public delegate int mydele2(int a);//声明委托 ...原创 2020-04-29 14:11:52 · 323 阅读 · 0 评论 -
C# 多线程
创建多线程的步骤:创建指向线程所要执行方法的委托 实例化Thread类,并传入一个指向线程所要执行方法的委托。(这时线程已经产生,但还没有运行) 调用Thread实例的Start方法,标记该线程可以被CPU执行了,但具体执行时间由CPU决定System.Threading.Thread类Thread类是是控制线程的基础类,位于System.Threading命名空间下,...原创 2020-04-29 10:26:14 · 228 阅读 · 0 评论 -
C# 委托/Func/Action 匿名函数 lambda表达式 Where/Find/FindAll/Select
委托委托基本上等于函数指针函数指针只能指向静态函数,而delegate既可以引用静态函数,又可以引用非静态成员函数。在引 用非静态成员函数时,delegate不但保存了对此函数入口指针的引用,而且还保存了调用此函数的类实例的引用。其次,与函数指针相 比,delegate是面向对象、类型安全、可靠的受控(managed)对象。也就是说,runtime能够保证delegate指向一个有效的方法,...原创 2020-04-28 20:58:52 · 1681 阅读 · 0 评论 -
C# Datatable/Dataset
DataSet/DataTableDataSet是数据集,DataTable是数据表,DataSet存储多个DataTable。DataSet功能强大有浏览、排序、搜索、过滤、处理分级数据、缓存更改等功能,还可以与XML数据互换。DataSet创建DataSet ds=new DataSet();//创建没有名字的DataSetDataSet ds=new DataSet(s...原创 2020-04-28 14:11:22 · 247 阅读 · 0 评论 -
C# ref/out/in set/get
ref关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。简单的说就是,ref修饰的参数传递参数之后,在函数结束的的值再传回该参数。使用Ref参数时,在使用前必须初始化参数,方法内也能够取到该值static void Main(string[] args){...原创 2020-04-28 12:19:15 · 297 阅读 · 0 评论 -
C# LIST
List泛型集合是C#编程中的经常使用的集合之一,相对数组它可以动态的添加元素而不是声明的时候就必须指定大小。相对于ArrayList集合和Hashtable集合的优势是其元素的数据类型可以确定。而不是默认的父类类型object。List泛型集合的声明与元素添加。命名空间:System.Collections.Generic名词解释T表示list中元素的类型listname表示一个声明...原创 2020-04-27 22:06:08 · 248 阅读 · 0 评论 -
C#MD5操作类
自定义MD5静态类,用于字符串加密有三个静态方法public static stringMD5_16(string password)//16位MD5加密 public static stringMD5_32(string password)//32位MD5加密 public static stringMD5_64(string password)//64位MD5加密 ...原创 2020-04-27 20:03:00 · 540 阅读 · 0 评论 -
C#文件操作
判断存在bool System.IO.File.Exists(@"E:\project\123.txt");//判断文件是否存在Directory.Exists(appdata_path);//判断文件夹是否存在Directory.CreateDirectory(appdata_path);//产生文件路径读取文件当文件不是很大的时候File类方法读取string str ...原创 2020-04-27 19:56:14 · 132 阅读 · 0 评论