C#学习笔记

来源:互联网 发布:vb combo1.listindex 编辑:程序博客网 时间:2024/04/30 06:51

c#的基本概念

继承,封装,多态,重载;

继承:把对象共有的属性和方法抽象出来形成一个基类,一般类就可以通过继承来实现这些共有的属性和方法.

封装:它有两层含义:第一层涵义是,把对象全部属性和全部服务结合在一起,形成一个不可分割的独立单元,第二层涵义是"信息隐藏",即尽可能隐藏对象的内部细节,只保留有限的对外接口使对象与外部发生联系.

多态:一般类中定义的属性和服务被派生类继承后,可以具有不同的数据类型和表现出不同的行为.这使得同一个属性或服务名在一般类及其各个派生类中具有不同的含义.

方法重载:同一个函数名,不同的参数个数和参数类型,可以表现出不同的行为.

第一章  .net环境

1,.net框架:

.net框架分四层:

第一层:CLR(Common Language runtime)通用语言运行环境.CLR提供了程序的执行环境.作用1:托管代码的创建和执行2自动内存管理3跨语言的互操作性.

第二层:Base Class Library.

第三层:ADO.NET and Xml     ado.net提供了一组类对保存在后台数据库的永久性数据进行操作和管理,还支持一组用语操作XML数据并进行XML搜索和转换的类.

第四层:ASP.NET , WEB FORMS , WEB SERVICES,WINDOWS FORMS.web 服务使用标准的HTTP和SOAP协议作为底层通信协议它支持跨网络的即插即用.

第二章 C#语言基础

1数据类型:值(Value)类型和引用(Reference)类型

对值类型变量赋值将创建所赋的值的一个副本,而对引用类型变量赋值将创建引用副本,而不是引用对象的副本.所有的值类型均隐式的派生自Object类.与引用类型相比,从值类型不可能派生出新的类型且值类型不可能包含NULL值.

值类型:

enum,struct,bool,char,sbyte,byte,short,ushort,int,uint,long,ulong,float,double,decimal

引用类型

object,string,class,interface,delegate

一个类只能有一个基类,但是一个类可以实现一个以上的接口.

2 变量和常量

常量

const 类型标识符 = 值(常量必须在声明时被初始化,而且一经初始化就不能改变了)]

const int MAXSIZE = 4;

变量

变量名的第一个字母必须是字母,下划线或@.(如果第一个字符是@的话,第二个字符不能是数字)

3数组

数组的下标是从0开始

4命名空间

在c#中引入名字空间的原因是为了避免名字冲突.可以避免来自多方的库和程序发生名字冲突.

关键字是namespace

第三章c#的初级特性

访问修饰符:public,private,protected,internal

public:无限制,标记为public的成员对于任何类的方法都是可以访问的.

private:标记为private的类A中的成员,只对类A的方法是可访问的.

protected:标记为protected的类A 中的成员,对于类A和从类A中派生出的方法而言是可访问的.(派生类的实例不可以调用基类的属性为protected的方法)

internal:标记为internal的类A中的成员,对于A 所处的工程中的任何类中的方法而言都是可访问的.

protected internal:同时拥有protected和internal标记的类A中的成员,对于类A和从类A派生出的类的方法,以及A 所处工程的任何类的方法而言都是可访问的.

对于类中的成员而言,private是它们的默认访问关键字.

在实例化一个派生类时,必须先实例化一个基类.因此,在这种情况下,编译器会在调用派生类的构造函数之前,首先调用基类的构造函数.

public class Art

{

public Art()

{

Console.WriteLine("Art Constructor");

}

}

public class Drawing:Art

{

public Drawing()

{

Console.WriteLine("Drawing constructor");

}

public static void Main(string [] args)

{

Drawing  x = new Drawing();

}

}

结果:

Art constructor

Drawing constructor

class A
{
   public void Func1();
   private void Func2();
   protected void Func3();
}
class B : A
{
   public void FuncB() ;
}

B b1 = new B(); 
b1.Func1() ; //OK
b1.Func2() ; //error
b1.Func3() ; //error
b1.FuncB() ; //OK

A b1 = new B();
b1.Func1() ; //ok
b1.Func2() ; //error
b1.Func3() ; //error
b1.FuncB() ; //error

内存泄露是指系统中存在无法回收的内存,有时候会造成内存不足或系统崩溃。

英文缩写:

CLR:Common Language runtime

CTS:Common Type System通用类型系统

MSIL:Microsoft Intermediate Language(Microsoft中间语言)

CLS:Common Language Specification通用语言规范

计算机词汇

Managed:托管

Reference:引用

numeric:数值

原创粉丝点击