在.NET中的数组类型和C++中区别很大,.NET中无论是存储值类型对象的数组还是存储引用类型的数组,其本身都是引用类型,其内存也都是分配在堆上的。它们的共同特征在于:所有的数组类型都继承自System.Array,而System.Array又实现了多个接口,并且直接继承自System.Object。不同之处则在于存储值类型对象的数组所有的值都已经包含在数组内,而存储引用类型对象的数组,其值则是一个引用,指向位于托管堆中的实例对象。
分类 C# 下的文章
C#键盘记录器
利用HOOK技术来做一个键盘记录器,看看一天下来,我们点击了多少次键盘,哪些键的使用频率最高。
C#扩展集合ObservableCollection使集合在添加、删除、值变更后触发事件
概述
ObservableCollection继承了INotifyPropertyChanged接口,在属性变更时可以通知界面,当我把ObservableCollection集合绑定到界面的DataGrid后,我希望在界面修改表格数值后,可以触发一个 事件来验证我界面设定数据的有效性,但是对于集合的添加、删除只会触发集合的get属性,值重置不会触发集合的get、set属性,这时候我们就需要扩展ObservableCollection集合.
C# 异步与Windows应用程序
把 async 关键字用于 UWP 应用程序,需要注意,在 UI 线程中调用 await 之后,当异步方法返回时,将默认返回到 UI 线程中。这便于在异步方法完成后更新 UI 元素。
注意
为了创建 UWP 应用程序,需要 Windows 10,Windows 系统必须在 “开发人员模式” 下配置。启用 “开发人员模式” 时,需要打开 Windows 设置,选择 Update & Security 磁贴,选择 For developers 类别,并单击单选按钮 Developermode。这样系统就可以运行旁路的应用程序了(未从 Windows Store 中安装的应用程序),并为 “开发人员模式” 添加一个 Windows 包。
C# 枚举(Enum)
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。[1] 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。