
C#
GaryHm
这个作者很懒,什么都没留下…
展开
-
C# ini文件读写
public class INIReadWrite { [DllImport("kernel32")] private static extern uint GetPrivateProfileString(string strSection, string strKey, string strValue, byte[] ReturnedString, uint size, strin...原创 2019-11-25 14:21:52 · 180 阅读 · 0 评论 -
C#委托/事件
https://www.cnblogs.com/wangjiming/p/8300103.htmlhttps://www.cnblogs.com/TJessica/p/6690120.htmlhttps://blog.youkuaiyun.com/u014224380/article/details/82996533https://blog.youkuaiyun.com/goodshot/article/detai...原创 2019-08-13 09:03:05 · 152 阅读 · 0 评论 -
C#死锁
class Program { static void Main(string[] args) { object lock1 = new object(); object lock2 = new object(); new...原创 2019-08-17 09:42:19 · 235 阅读 · 0 评论 -
C#多态
通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态。public class Animal { public virtual void Eat() { Console.WriteLine("Animal eat"); } } public class Cat : Animal ...原创 2019-08-17 10:29:03 · 106 阅读 · 0 评论 -
C# 面向对象
1.面向对象和基于对象基于对象:IDE系统提供了很多对象供你使用,但你不可以派生出自己的类来,只能使用系统已经提供的类来创建对象,比如:VB6.0,JavaScript面向对象:系统提供了一些类,但考虑到不够使用,允许你自己派生/定义自己的类,利用多态与虚函数,通过基类指针指向派生类对象,实现通用函数就像使用系统提供的类一样来使用自己的类,如:C /Delphi/C#/Java等等“面向对象...原创 2019-08-17 11:27:18 · 212 阅读 · 0 评论 -
C# 多线程
C# 开启多线程的方式1.异步委托开启线程(BeginInvoke) static void Main(string[] args) { //1.赋值方法 //Action<int, int> a = add; //add是定义的一个方法 //2.lambda ...原创 2019-08-12 11:29:33 · 200 阅读 · 0 评论 -
C# 托管代码/非托管代码
托管代码托管代码(Managed Code)就是中间语言(IL)代码,在公共语言运行库(CLR)中运行。编译器把代码编译成中间语言,当方法被调用时,CLR把具体的方法编译成适合本地计算机运行的机器码,并且将编译好的机器码缓存起来(JIT全称是即时编译器),以备下次调用使用。随着程序集的运行,CLR提供各种服务:内存管理,安全管理,线程管理,垃圾回收,类型检查等等。非托管代码非托管代码,直接...原创 2019-08-12 09:41:01 · 533 阅读 · 0 评论 -
C# Thread Task
1.Thread Thread thread = new Thread(()=>startBuffering(ratio, ratious, thickness)); //thread.Priority = ThreadPriority.Lowest; thread.IsBackground = true; ...原创 2019-06-24 10:04:20 · 1452 阅读 · 0 评论 -
C# AutoResetEvent / ManualResetEvent
个人理解这个应该就相当于一个旗标,在不同线程之间创建一个都可以使用的bool量AutoResetEvent 常常被用来在两个线程之间进行信号发送,两个线程共享相同的AutoResetEvent对象,线程可以通过调用AutoResetEvent对象的WaitOne()方法进入等待状态,waitone可以有一个等待时间参数,然后另外一个线程通过调用AutoResetEvent对象的Set()方法取消...原创 2019-06-24 11:14:48 · 838 阅读 · 0 评论 -
C# 正则表达式分组
转自:https://www.cnblogs.com/lip-blog/p/9112285.html转载 2019-07-03 14:26:03 · 1492 阅读 · 0 评论 -
C# BeginInvoke / Invoke
https://blog.youkuaiyun.com/goodshot/article/details/6157529https://www.cnblogs.com/c2303191/articles/826571.htmlhttps://blog.youkuaiyun.com/sinat_23338865/article/details/52596818https://www.cnblogs.com/djzxj...原创 2019-08-13 22:30:28 · 2539 阅读 · 0 评论 -
C# partial class / partial method / 扩展方法
部分类部分方法原创 2019-08-07 11:11:02 · 381 阅读 · 0 评论 -
C# ref/out
总结来说:1、调用带ref关键字的函数,必须对 ref 对应的参数赋值;而out关键字不需要。2、带ref 关键字的函数内部可以直接使用 ref 对应的参数;out 关键字的函数,必须在函数内部对out对应的参数赋值后才能使用。(归结1,2点:ref在外面初始化,out在里面初始化) //refA 必须先赋值 int refA = 0; voi...原创 2019-08-11 20:54:11 · 120 阅读 · 0 评论 -
C# const/readyonly
总结来说:1.const是静态常量2.readyonly是动态常量静态常量:是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。动态常量的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构造函数中初始化。const修饰的常量在声明的时候必须初始化;readonly修饰的常量则可...原创 2019-08-11 21:11:02 · 329 阅读 · 0 评论 -
C# 小知识点
C#DataGridView设置文本居中显示dataGridViewSpeed.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;原创 2020-03-08 15:28:21 · 114 阅读 · 0 评论