不迎不送,来去自便,无茶无酒,谈笑随缘

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
一. C#的语法       C#语言在语法上与C++最大的区别就是类的声明和泪中方法的实现部分,类中方法的声明和实现不再像C++中可以分离在不同文件中,而是必须要写成:          public ReturnType MethodName(参数列表){                    }这种形式,并且为了避免出现命名冲突,类要写在命名空间当中。为了增加程序的可读性,C#提供了partial关键字,允许将同一个类分解写在若干文件中(还好有这个关键字,要不然我会马上放弃使用C#的,~~~一个N万行的类文件有多恐怖想想就让人害怕~~~,当然Microsoft肯定不会让这样的情况出现的,否则微软研究院就白成立了T_T)。        C#语法与C++另一个比较大的区别是限制了指针的使用,在程序中DataType *VarName会报告“指针和固定大小缓冲区只能在不安全的上下文中使用”的错误提示,以后看到指针的使用方面的内容时在写吧~~~ 采用&声明引用变量同样在C#中取消了,不知道C#中采用了什么方式对堆进行操作了~~~C#中声明的变量都要求先赋值然后才能使用,否则编译器会报错,在使用new关键字分派的时候也是如此,这中策略降低了变量使用错误的可能性,减少了程序出错几率。          补充一点,C#禁止使用全局变量~~~*_*二.异常处理         C#中异常处理方面的语法基本上与C++相似,不同的是throw抛出的必须是system.Exception类中派生出来的对象,而不能是其他类型。抛出的方法有两种:  throw new CMyException();          或                                     CMyException m_MyException;                                    m_MyException=new CMyException(...);    //声明时无法直接给参数初始化构造函数                                    throw m_MyException;finally的使用:紧跟在try或最后一个catch块后,finally中的语句一定会被运行,无论前面try中是否发声异常。异常:OverflowException,FormatException,OutofMemoryException                checked 和 unchecked关键字分别用来强制int变量检查溢出异常(溢出抛出OverflowException异常)和强制int变量不检查溢出异常(不抛出任何异常)。     参数的传递,由于C#中不能使用指针,因此C#中如果需要采用参数来返回数据的话,需要在实参前面加上ref前缀声明。ref声明的变量实际上是引用了传入变量内存的地址,这样类内的方法如果改变了ref声明的参数也就改变了实参。 
posted on 2006-12-27 15:50  wude  阅读(174)  评论(0)    收藏  举报