
C#
ArbooCao
unity3d VR
展开
-
C#之旅(二): IEnumerable IEnumerator
又是两个以rable和rator结尾的两个接口,每次看到这种定义我就会很头疼,很容易搞混掉,所以这次我要将自己的学习记录下来,慢慢的把它们给啃掉,好记性不如烂笔头,也方便今后自己的复习。通常在编程中我们常常面临这样一个问题就是对一个集合的遍历通常也就是一个数组或是一个链表,比如说一个保存了整个班级名单的变量还是一个Person类型的数组,那我们该怎么去做。当然在C#中我们可以使用foreach语句来转载 2015-02-27 01:28:12 · 657 阅读 · 0 评论 -
IDisposable概述
GC(垃圾收集器)只能回收托管(Managed)内存资源,对于数据库连接、文件句柄、Socket连接等这些资源(非托管资源,UnManaged)就无能为例,必须程序员自己控制资源的回收。非托管资源:SqlConnection、FileStream等。 对于使用非内存资源的类,完全可以自己定义一个销毁资源的方法来供程序员回收,.net推荐实现IDisposable接口(为了规范非托管资源的回收),在转载 2015-03-12 15:45:55 · 595 阅读 · 0 评论 -
GC----垃圾回收机制
今天,阿布我呢去面试了一下,笔试题是一些基本的设计模式和算法就不分享了。主要是后来的面试官大大问了我一个问题C#的垃圾回收机制。 其实这个问题我感觉我碰到的很少,因为以前用C++,都是自己释放或者自己写析构函数,不过既然碰到这个问题呢,当然不能放过,这是阿布我作为一个现阶段菜鸟级程序猿的觉悟啊,有问题,得学!好了,废话不多说,经过我多番的翻阅大大们的博客,终于有了一定的了解,其实也不多。。。就那么转载 2015-03-12 15:42:51 · 1109 阅读 · 0 评论 -
C#索引器
索引器允许类或者结构的实例按照与数组相同的方式进行索引取值,索引器与属性类似,不同的是索引器的访问是带参的。索引器和数组比较:(1)索引器的索引值(Index)类型不受限制(2)索引器允许重载(3)索引器不是一个变量索引器和属性的不同点(1)属性以名称来标识,索引器以函数形式标识(2)索引器可以被重载,属性不可以(3)索引器不能声明为static,属性可以一个简单的索引器例子using System转载 2015-03-09 23:59:53 · 339 阅读 · 0 评论 -
Convert.ToInt32()与int.Parse()的区别
(1)这两个方法的最大不同是它们对null值的处理方法: Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。没搞清楚Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会产生无法预料的结果,举例来说:假如从url中取一个参数page的值,我们知道这个值是一个int,所以即可以用Conver转载 2015-03-09 23:55:53 · 510 阅读 · 0 评论 -
C# 集合类 :(Array、 Arraylist、List、Hashtable、Dictionary、Stack、Queue)
我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类。我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和拆箱的负担,14:31:45,例如我们需要在电子商务网站中存储用户的购物车信息(商品名,对应的商品个数)时,完全可以用 Dictionaryint[] intArray1; //初始化已声明的一维数组转载 2015-03-10 10:34:09 · 976 阅读 · 0 评论 -
详解C# 迭代器
详解C# 迭代器 迭代器模式是设计模式中行为模式(behavioral pattern)的一个例子,他是一种简化对象间通讯的模式,也是一种非常容易理解和使用的模式。简单来说,迭代器模式使得你能够获取到序列中的所有元素而不用关心是其类型是array,list,linked list或者是其他什么序列结构。这一点使得能够非常高效的构建数据处理通道(data pipeline)–即数据能够进入处转载 2015-02-27 01:27:04 · 679 阅读 · 0 评论 -
IEnumerable和IEnumerator 详解
IEnumerable和IEnumerator 详解 分类: C# Basic2011-10-13 23:22 25120人阅读 评论(3) 收藏 举报 stringclassinterfaceobjectfunc# 初学C#的时候,老是被IEnumerable、IEnumerator、ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnume转载 2015-02-27 01:26:39 · 463 阅读 · 0 评论 -
抽象方法和虚方法
1、抽象方法是只有定义、没有实际方法体的函数,它只能在抽象函数中出现,并且在子类中必须重写; 2、虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖,重写的子类虚函数就是被覆盖了。原创 2015-02-27 01:24:49 · 345 阅读 · 0 评论 -
get\set用来访问类的属性。
get\set用来访问类的属性。 只有set访问器时,表明属性的值只能进行设置而不能读出; 只有get访问器时,表明属性的值是只读的,不能改写; 同时具有get和set访问器时,表明属性的值是可读写的。原创 2015-02-27 01:25:44 · 666 阅读 · 0 评论 -
结构体和类
区别: 1、是否允许定义默认构造方法? 结构体:不可以 类:可以2、自定义构造方法后系统还会提供默认构造方法吗? 结构体:会 类:不会3、 (1)默认的成员访问权限,前者是private,后者是public; (2)默认的继承权限,来自class的继承默认为private继承,来自struct的继承默认是public继承原创 2015-02-27 01:25:01 · 269 阅读 · 0 评论 -
C#中实现多继承的方法作者:张宏杰 字体:[增加 减小] 类型:转载
这篇文章主要介绍了C#中实现多继承的方法,本文通过给接口添加扩展的方法实现了C#的多继承,需要的朋友可以参考下 近日看到了一个贴子,就是在C#语言中,如何实现多继承的问题。相信涉猎c#不多的人(像我这样的菜鸟),一看就觉得很可笑,c#肯定是不能实现多继承的啊。都知道在c++中因为实现多继承会有很多的歧义问题,所以在c#中就把多继承给取消了,而用接口来实现!但是想想,如果是初学者肯定不会不会问这样的转载 2015-04-06 00:48:41 · 739 阅读 · 0 评论