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),同样不可以被继承;

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

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

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

许同时有多个父借口;

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/orangeblog/p/2484977.html