![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#学习笔记
文章平均质量分 78
metop
Be a founder for a embedded system designhouse since 2002, which focus on provide embedded system design solutions to OEMs, most of these design based on ARM Linux. And now working in MS ATC for Windows Mobile.
展开
-
从C/C++到C# (2)
本系列的第二篇主要针对类的继承 C#中只允许从一个基类派生,而C++可以从多个基类派生;而且C#的继承永远是public的,C++的继承可以是public/private/protected中的一种。 C#的子类自动包含了父类的所有field,子类的构造函数必须调用基类的构造函数,子类使用base关键字来显式调用基类构造函数;如果你没有显式调用基类构造函数,编译器会原创 2008-02-16 18:17:00 · 674 阅读 · 0 评论 -
从C/C++到C# (6)
本篇主要讲述C#中泛型的概念,包括泛型类和泛型方法。 C# 2.0中的Generics概念类似于C++中的template,主要用于克服使用object无法达到的compile-time type-check,同时提供了无需使用cast即可将一套class/method/struct用于多种类型的功能。 Generic classes/methods原创 2008-02-17 14:17:00 · 507 阅读 · 0 评论 -
从C/C++到C# (3)
本篇主要着眼于C#中的垃圾回收和资源管理机制,这是C#宣传中最优于C++的长处,值得好好领悟一下。 Value Type在创建其的方法结束的时候被销毁和回收;reference type只有在没有任何引用后才可以被销毁。 Object的创建分为两步:1-new操作在heap中分配内存,这一步是不可控制的;2-new操作使用构造函数将内存转换为object。O原创 2008-02-16 20:44:00 · 791 阅读 · 0 评论 -
从C/C++到C# (4)
本篇主要描述了C#中Property和Indexer的使用,在保证数据封装性和安全性的情况下,使得用户可以象field和array一样访问被封装的数据,提高程序的可读性。 Properties允许你在保持class内field封装性的前提下使用public field-like语法访问;Property是介于logical field和physical method之间的功能原创 2008-02-16 21:30:00 · 587 阅读 · 0 评论 -
从C/C++到C# (7)
本篇主要着眼于C#中运算符的重载,以及implicit conversion和explicit conversion运算符的实现,为尽可能直观地编写程序提供方便。 C#中,你不能通过重载改变运算符的运算顺序和优先级;不能改变运算符的操作数个数;不能自定义新的运算符;不能改变运算符对内建类型的处理方法;不能重载dot运算符;应该使用indexer来模拟[]运算符,使用prope原创 2008-02-17 15:50:00 · 551 阅读 · 0 评论 -
从C/C++到C# (1)
用了10多年的C/C++,因为之前一直在Linux下作项目,对C#少有涉猎。今年终于开始要正式学习C#了,将学习过程中的一些体会和笔记摘录成文和大家共享,由于个人经验的原因,本文可能更多地着眼在C#和C/C++不同的地方。本系列的第一篇主要列举了在基础类型、语句定义、函数方法等方面的差异。 C#中程序的入口点方法名为Main,这个函数必须使用static属性。 C#原创 2008-02-16 17:45:00 · 787 阅读 · 1 评论 -
从C/C++到C# (5)
本篇主要着眼于C#中的event和delegate机制,这是C#中触发和处理事件的基本架构,需要熟练掌握。 Delegate是指向method的指针,其功能类似C++中的函数指针,但是C#中的delegate是type-safe的,只能指向签名相同的方法;在定义了delegate后,你可以通过+=来初始化并指向一个method。class Controller{原创 2008-02-17 12:11:00 · 502 阅读 · 0 评论