zoukankan      html  css  js  c++  java
  • c#学习笔记

    COM  (component  object model):组件对象模型
    每个东西必须属于一个类,请暂时忘掉全局变量
    c#编译器中竟然没有链接器,为什么呢?

    类,代表,数组,借口,都是引用类型;什么是引用类型?与之相

    对的是值类型

    什么是代表?类似于指针?
         先声明一个代表,用delegated?

    system.Array 类是所有数组类型的基类;
    数组:一维,二维,,,可变数组(各个维数不定)
         数组的初始化;
         可变数组又是怎样的;

    什么是拆箱和装箱?
       拆箱和装箱是两个相反的机制概念,这两种机制相当于c或是c

    ++中的类型转换,这里的拆箱是指可以把值类型(知道是哪些类型

    吧)转换成object类型(对象类型),拆箱就是相反的过程;注意

    类型一致性;
    注意:结构体是值类型,类是引用类型!

    要给你一个定义时没有被赋值的变量赋值必须是在一段可执行的代

    码中进行?

    什么是输入参数  in?什么是输出参数out?还有引用参数ref?

    局部变量没有默认值!
    静态变量,非静态变量,数组元素,输入参数,输出参数,引用参

    数,局部变量;

    值类型转换类似于C和C++;也分为隐式转换和显式转换;
    注意:还有引用类型之间的转换;

    is操作符:用于动态的检查运行时对象类型是否和给定的类型兼容

    。即是否可以类型转换;

    as操作符  显示类型转换,但是不会出现错误;

    typeof操作符:用于获得系统原型对象的类型;
    注意:要区别于c和c++;

    switch语句,每个case语句后必须有一个break;这点不同于
    c和 c++;c#中switch的控制语句可以使string类型,而c/c++就

    不可以了;

    foreach(type T in expression);

    预编译:#warning 和 #error

    this只能用在类的构造方法,类的方法,结构的构造方法和结构的

    方法中!

    析构函数不需要显示的调用

    C#中的参数传递和C/C++还是有区别的,相同的是值传递,引用传

    递,不同的是C#中多了输出参数传递,

    非静态方法可以访问静、非静态成员,静态方法只能访问静态变量

    只读域(域相当于C/C++中简单的成员函数)他和const 常量的区

    别是,const是在编译时生成,只读域是在运行时生成(具体是什么

    样子,网上看看吧)

    c#对每个域都有默认值(在没被用户初始化的前提下)
    静态变量的初始化是在类被装载时,而非静态变量的初始化是在生

    成对象时;

    域与属性的总结:
        刚开始还以为,只是对成员变量的不同称呼,没其它的区别。

    首先,确实都是成员变量,域更多的是public型,属性更多的是

    privated型,域没什么特别之处,特别的是属性,属性的设置与读

    取是有set()与get()来实现的(有没有这两个方法也是区分二者的

    标准),set(),get()是系统中自带的,有固定的用法!

    事件,索引指示器还是值得再好好看看!

    多态性:分为普通函数的多态性,这里是指类中,派生类函数对父

    类的多态性,两个特点:virtual(父类中函数原型)和override

    (子类中重载函数);普通函数在编译时执行,虚函数在运行时执

    行;

    抽象类:区别于C++中的抽象类,C#中的抽象类是用abstract声明

    的,对其中的方法并没有特别的却别,抽象类只是不能定义对象,

    可以被继承,也可以继承;
    抽象函数:也是用abstract声明的,区别于虚函数(他是特殊的虚

    函数),没有执行体,只能在派生类中被实现;抽象函数也可以重

    载虚函数,这样以前虚函数的执行体就被屏蔽了;

    密封类(sealed修饰)可以继承别的类,但是不能被继承;
    密封函数(sealed修饰)和密封类没有什么关系(不是说必须在密

    封类中),密封函数必须是重载函数,也就是必须和override一起

    用 ( sealed  override),同样不可以被继承;

    属性的继承:也分为抽像的,密封的;重载,虚属性!
    抽象属性必须定义在抽象类中;密封属性类似于密封方法;

    接口的定义:类似于类,但要注意其修饰符的种类;借口可以继承

    借口,但是只继承方法的声明,并不继承实现部分;接口的继承允

    许同时有多个父借口;

    接口成员的定义:接口的成员不允许是常量、域、操作符、构造函

    数、析构函数、任何静态成员!

    接口成员的访问:解决的是二义性问题和如何进行访问;因为支持

    多继承,所以存在同名成员的现象,这个时候要确定是否正确的访

    问了自己想访问的成员!全权名的概念!

    组织应用程序:
    基本概念:什么是动态链接库,什么是编译单元,什么又是名字空间和装配及其他们的作用;
    指示符:

  • 相关阅读:
    『华为』[行业要闻]华为,我们的光环还能顶多久(转)
    总结几点Quartz的经验
    LVS
    postfix邮件服务器安全
    让IE浏览器支持RGBA颜色
    PostgreSQL在何处处理 sql查询之六十四
    PostgreSQL在何处处理 sql查询之六十三
    PostgreSQL在何处处理 sql查询之六十五
    对PostgreSQL的prepared statement 的理解
    PostgreSQL在何处处理 sql查询之六十六
  • 原文地址:https://www.cnblogs.com/orangeblog/p/2484977.html
Copyright © 2011-2022 走看看