Hyman的博客

你想要什么样的生活,并真正为之努力,你一定会得到它!

【C#语法】C#中的托管资源和非托管资源

一 托管资源和非托管资源 托管资源,顾名思义,就是依托在.net平台,在托管堆中创建,它的释放不由人工进行干预,而是由.net的垃圾回收器GC自动进行释放。 相对于托管资源,非托管资源主要是操作系统级别的资源,.net平台无法对其释放,需要我们手动进行资源的回收。非托管资源一般对应于windo...

2017-12-11 11:13:29

阅读数:138

评论数:0

【C#语法】类和方法的特性Attribute

一、引言                 今天,我们来聊一下C#中的特性Attribute。何为特性Attribute?我们先看一个特性的使用例子,我们定义了一个Human类,但是由于某种原因该类不再被使用,但是我又不想将该类的代码注释或者删除掉,于是我们就可以通过给它赋予Obsolete特性来禁...

2017-07-03 20:28:36

阅读数:698

评论数:0

【C#函数式编程】C#中的函数式编程(三) —— yield关键字的使用

在C#和Python中都有yield关键字,在Python中通过使用yield关键字我们可以得到一个generator生成器,而在C#中使用yield关键字可以得到一个IEnumerable类型的对象,可以理解成C#中的生成器。         IEnumerable对象是一种集合对象,比如Li...

2017-01-18 18:43:27

阅读数:322

评论数:0

【C#函数式编程】C#中的函数式编程(二) —— IEnumerable和IEnumerator使用详解

一、IEnumerable接口         IEnumerable接口可以暴露一个Celltions的元素的迭代器,它只含有一个方法GetEnumerator,这个方法返回一个IEnumerator对象,而通过这个IEnumerator对象,我们就可以遍历整个Celltions中的元素。 二、...

2017-01-17 15:50:18

阅读数:671

评论数:0

【C#函数式编程】C#中的函数式编程(一) —— =>表达式

一、函数式编程         函数式编程,简单来理解,就是把函数当成是组成一个功能模块最小的单位。相对于之前接触的面向对象的思想,把类对象当成一个功能模块的组成部件,在函数式编程中把函数也当成一个可拆卸的对象。  二、C#中的Lambda表达式=>         Labmda也称作匿名函...

2017-01-16 10:29:08

阅读数:559

评论数:0

【C#语法】详解C#中的反射(Assembly)机制

一 引言         反射机制是C#中比较有特色的一种技术。它使我们编程时可以更加灵活,能够通过类或者方法名称能够很方便的构造类和调用方法,虽然有一些微不足道的性能损失。 我们先来看一下反射的定义:         反射的定义:审查元数据并收集关於它的类型信息的能力,元数据(编辑后的基本数据单...

2016-12-05 15:12:14

阅读数:2511

评论数:0

【C#语法】C#中调用C++编写的dll

C#中引用C++生成的dll,首先我们需要新建一个类,如类名就叫做DllImport: public class DllImport { } 在类中,我们利用DllImport关键字进行dll的引用,格式如下: [DllImport("xxx.dll")] private ...

2016-06-08 18:50:13

阅读数:726

评论数:0

【C#语法】C#中强转和as、is的区别

C#是一门强类型语言,一般情况下最好避免将一个类型转换成另一个类型,但是有些时候又不得不进行类型转换。 C#中有三种类型转换(不考虑.Net提供的Parse),如下: 1、使用as操作符转换 2、使用传统c风格的强制转换 3、使用is先做一个转换测试,然后再使用as操作符或者强转。 一、as和强...

2016-04-24 18:26:04

阅读数:1346

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭