C#
UnityCoyote
知识正在蔓延
展开
-
C#中委托的理解和使用
C#中有一种特殊的回调(callback)函数叫委托,委托是一种定义方法签名的类型,当需要把方法传递给其他方法时就要用到委托。 我们常常习惯把数据作为参数传递给方法,而当某个方法执行的操作不是针对数据进行的,而是对另一个方法进行操作,这时就需要用到委托。 委托的定义: delegate void IntMethod(int i);在这个示例中,我们定义原创 2013-12-27 06:38:22 · 975 阅读 · 0 评论 -
C#的StringBuilder类型用法
我们在使用String类构造一个字符串时,要给它分配足够的内存来保存字符串,当我们需要对创建好的字符串在进行某些操作,例如我们再添加一个字符串到旧的字符串对象上,它不会将新字符串添加到旧的字符串对象中,因为在旧字符串对象在被初始化时已经分配了该字符串足够的内,在把这个新的字符挤进去显然不行,因此它会创建一个新的字符实例,给它一个足够的内存来放置新字符串和旧字符串,那么旧的字符串对象将不再引用旧字符原创 2014-06-20 23:32:58 · 3516 阅读 · 0 评论 -
C#泛型的协变和抗变
首先我们都知道父类对象可以指向子类对象 class Document { } class OperationGuide:Document { }那么就可以写成 Document doc = new OperationGuide();但如果用于泛型就不行了,例如我写一个泛型类,那么就不能这样写了,会报一原创 2014-06-14 09:26:25 · 877 阅读 · 0 评论 -
C#的new关键字的几种用法
1.new 运算符用于创建对象和调用构造函数: Test01 test = new Test01();new 运算符还可以用于创建值类型的默认构造函数:int i = new int();i被初始化为0,因为它是int类型的默认值。该语句等同于:int i = 0;如果new运算符分配内存失败,则它将引发OutOfMemoryException异常.原创 2014-05-31 16:18:39 · 3102 阅读 · 0 评论 -
C#类型基础
引言本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的。由此又引出了 引用类型和 值类型,以及相关的对象判等、装箱、拆箱等基础转载 2014-05-31 10:41:51 · 523 阅读 · 0 评论 -
c#中引用类型和值类型的区别
原文地址:c#中引用类型和值类型的区别作者:水逸木从概念上看,值类型直接存储其值,而引用类型存储对其值的引用。这两种类型存储在内存的不同地方。在C#中,我们必须在设计类型的时候就决定类型实例的行为。这种决定非常重要,用《CLR via C#》作者Jeffrey Richter的话来说,“不理解引用类型和值类型区别的程序员将会给代码引入诡异的bug和性能问题(I believe转载 2014-05-31 09:49:45 · 773 阅读 · 0 评论 -
C#接口
1. 接口是一个引用类型,通过接口可以实现多重继承。2. C#中接口不能有new、public、protected、internal、private等修饰符。3. 接口中只能声明"抽象"成员(所以不能直接下一步对接口进行实例化(即不能使用new操作符声明一个接口的实例对 象)),而不能声明共有的域或者私有的成员变量。4. 接口声明不包括数据成员,只能包含方法、属性、事件、索转载 2014-05-27 23:51:56 · 519 阅读 · 0 评论 -
浅谈C#中的枚举
枚举类型是一种的值类型,它用于声明一组命名的常数。 (1)枚举的声明:枚举声明用于声明新的枚举类型。 访问修辞符 enum 枚举名:基础类型 { 枚举成员 } 基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong转载 2014-06-07 22:21:57 · 575 阅读 · 0 评论 -
C#泛型
在编写程序时,常常遇到两个模块的功能非常相似,例如: class Class01 { public void BubbleSort(int[] array) { int length = array.Length; for (int i = 0; i原创 2014-06-07 14:55:02 · 548 阅读 · 0 评论 -
C#的序列化和反序列化
序列化就是把一个对象保存到一个文件原创 2014-06-06 14:52:09 · 823 阅读 · 0 评论 -
C#抽象类及其方法的学习
在C#中使用关键字 abstract 来定义抽象类和抽象方法。不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。"一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用."- C++ Programming Language by Stroustrup Chapter13.转载 2014-08-20 23:08:39 · 514 阅读 · 0 评论