三十三、
如何确定事件是否已订阅
https://stackoverflow.com/questions/2697247/how-to-determine-if-an-event-is-already-subscribedstackoverflow.com三二二、
sealed
密封类(防止继承)
密封方法(防止重写)
密封属性(防止重写)
C#中sealed关键字 - Ring_1992 - 博客园www.cnblogs.com三十一、
对C#中的Close()和Dispose()的浅析 - weixiao520 - 博客园www.cnblogs.com三十、协变out 、逆变 in
逆变与协变详解 - ClrsDream - 博客园www.cnblogs.com![9fd3de583852ec0573c2877c4f1aca80.png](https://img-blog.csdnimg.cn/img_convert/9fd3de583852ec0573c2877c4f1aca80.png)
![8d915d469f077844e9954db7ec2a0166.png](https://img-blog.csdnimg.cn/img_convert/8d915d469f077844e9954db7ec2a0166.png)
第二篇适合入门阅读
二十九、C#程序入口点
WPF应用程序启动的问题(自定义Main函数启动) - Taowd - 博客园www.cnblogs.com![3fd2b8b0aec7f4d4087b17871a516074.png](https://img-blog.csdnimg.cn/img_convert/3fd2b8b0aec7f4d4087b17871a516074.png)
二十八、C#编译器版本。
https://blog.csdn.net/Zhaosiyii/article/details/80750792blog.csdn.net二十七、e.Handled = true;
WPF TabControl SelectionChanged 重复执行的问题www.cnblogs.com二十六、静态类
- 静态类
静态构造函数(只能被调用一次)
静态字段
静态属性
静态方法
什么时候使用静态类?
C#中什么情况下使用静态类_百度知道zhidao.baidu.com![31991142e4a5293102dc8c65cf4d1bb9.png](https://img-blog.csdnimg.cn/img_convert/31991142e4a5293102dc8c65cf4d1bb9.png)
二十五、
C#启动外部程序的几种常用方法汇总 - zhuweirandy - 博客园www.cnblogs.com二十四、静态事件
https://blog.csdn.net/zmj_tata/article/details/42120027blog.csdn.net静态事件示例
https://blog.csdn.net/lnc2003/article/details/41721077blog.csdn.net二十三、遍历一个对象里面的全部属性
C#怎么遍历一个对象里面的全部属性? - 左正 - 博客园www.cnblogs.com二十二、 ThreadStart是一个委托
C#的ThreadStart 和 Threadwww.cnblogs.com二十一、数组、ArrayList和List的区别
https://blog.csdn.net/spw55381155/article/details/82501452blog.csdn.net二十、hashtable dictionary
C#:Hashtable和Dictionary - 北极星空 - 博客园www.cnblogs.com![328dab598fd24c041868ab8609117457.png](https://img-blog.csdnimg.cn/img_convert/328dab598fd24c041868ab8609117457.png)
![1d448795832f6beab971cad22d447373.png](https://img-blog.csdnimg.cn/img_convert/1d448795832f6beab971cad22d447373.png)
十九、重置快捷键
https://blog.csdn.net/wrzfeijianshen/article/details/77782939blog.csdn.net十八、Wndproc
Wndproc_百度百科baike.baidu.com![6d767ab2b38e4379b3977d1c49b68a00.png](https://img-blog.csdnimg.cn/img_convert/6d767ab2b38e4379b3977d1c49b68a00.png)
十七、
- Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。
- Func可以接受0个至16个传入参数,必须具有返回值。
- Action可以接受0个至16个传入参数,无返回值。
- Predicate只能接受一个传入参数,返回值为bool类型。
十六、空传转播运算符
0.3.7 空值传播运算符 - 51CTO.COMbook.51cto.com十五、指针、委托
指针为什么是不安全的
- 在C++中,函数指针只不过是一个指向内存位置的指针,它不是类型安全的。
- 我们无法判断这个指针实际指向什么,向参数和返回类型等项就更无从知晓了。
委托是类型安全的类
- 委托定义了返回类型和参数的类型,委托不仅包含对方法的引用,也可以包含对多个方法的引用。
十四、tostring()
https://blog.csdn.net/yzliang2016/article/details/72621137blog.csdn.net十三、窗体热键与全局热键
kirmir/GlobalHotKeygithub.com![afff10ebf6946071f2dbc86665800c7c.png](https://img-blog.csdnimg.cn/img_convert/afff10ebf6946071f2dbc86665800c7c.png)
十二、判断一个对象是否被释放掉
Object.isDisposed
如何判断一个对象是否被释放掉 C#zhidao.baidu.com![448410571e0611bf994a5059205ba26b.png](https://img-blog.csdnimg.cn/img_convert/448410571e0611bf994a5059205ba26b.png)
十一、打开新窗口原窗口会被锁定(同线程内)
- ShowDialog()
- Show()
- Hide()
![31991142e4a5293102dc8c65cf4d1bb9.png](https://img-blog.csdnimg.cn/img_convert/31991142e4a5293102dc8c65cf4d1bb9.png)
十、隐藏 窗口 标题栏、任务栏 图标
C# 隐藏窗口标题栏、隐藏任务栏图标www.cnblogs.com九、开启线程时传递数据
C# 中传递多个参数给多线程 - Avatarx - 博客园www.cnblogs.com八、
C# 如何创建一个独立的子窗口_百度知道zhidao.baidu.com![31991142e4a5293102dc8c65cf4d1bb9.png](https://img-blog.csdnimg.cn/img_convert/31991142e4a5293102dc8c65cf4d1bb9.png)
七、反射
反射 (C#)docs.microsoft.com [整理]C#反射(Reflection)详解 - SamWang - 博客园www.cnblogs.com 详解C#中的反射 - Stephen_潮 - 博客园www.cnblogs.com C# 反射、与dynamic最佳组合www.cnblogs.com![5f3558d8fecc57dfc0767116255e95da.png](https://img-blog.csdnimg.cn/img_convert/5f3558d8fecc57dfc0767116255e95da.png)
六、特性
Conditional
C#中的Conditional特性 - 不积跬步无以至千里 - CSDN博客blog.csdn.netObsolete 标记不再使用的程序元素
五、控制台程序调用中间库创建窗体
- 窗体类库
- 中间类库
- 控制台
四、自定义控件
C# 自定义控件VS用户控件 - 野狼谷 - 博客园www.cnblogs.com![4da069fdd58f8e0ae3b99742d22e051e.png](https://img-blog.csdnimg.cn/img_convert/4da069fdd58f8e0ae3b99742d22e051e.png)
![082c432d47c3074e926c885e6dee0936.png](https://img-blog.csdnimg.cn/img_convert/082c432d47c3074e926c885e6dee0936.png)
三、透明控件
C# 实现真正的透明控件(Windows桌面程序)blog.csdn.net![2e7232635ef01c75515276109cec71e7.png](https://img-blog.csdnimg.cn/img_convert/2e7232635ef01c75515276109cec71e7.png)
Windows 窗体控件不支持真正的透明。 Windows Forms controls do not support true transparency
如何:使控件拥有透明背景docs.microsoft.com二、音乐播放
https://jingyan.baidu.com/article/7c6fb428c2a49a80652c9046.htmljingyan.baidu.com使用axWindowsMediaPlayer的COM组件来播放
C#播放声音【六种方法】 - believe的专栏 - CSDN博客blog.csdn.net一、HttpWebRequest.HttpWebRequest
在新的开发中不建议使用HttpWebRequest建议使用System.Net.Http.HttpClient
C#中HttpWebRequest的用法详解 - 刘奇云 - 博客园www.cnblogs.com HttpWebRequest Class (System.Net)docs.microsoft.com![c2181b838ac8b6bcb2c60ad41ebdc8d8.png](https://img-blog.csdnimg.cn/img_convert/c2181b838ac8b6bcb2c60ad41ebdc8d8.png)