c#程序设计复习资料

  • 格式:doc
  • 大小:117.00 KB
  • 文档页数:31

C#程序设计基础知识接口接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化;2、包含未实现的方法声明;3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员);另外,接口有如下特性:接口除了可以包含方法之外,还可以包含属性、索引器、事件,而且这些成员都被定义为公有的。

除此之外,不能包含任何其他的成员,例如:常量、域、构造函数、析构函数、静态成员。

一个类可以直接继承多个接口,但只能直接继承一个类(包括抽象类)。

try{//执行的代码,其中可能有异常。

一旦发现异常,则立即跳到catch执行。

否则不会执行catch 里面的内容}catch{//除非try里面执行代码发生了异常,否则这里的代码不会执行}finally{//不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行finally}1,委托委托本质上是一种方法接口,它相当于c语言中的指针,比函数指针安全,在c#中用于事件的处理。

事件不是委托,在c#中处理事件的逻辑常包装为委托。

委托允许讲方法作为参数进行传递,可以用于定义回调方法,委托可以连接在一起。

是一组用于和数据源进行交互的面向对象类库。

通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。

允许和不同类型的数据源以及数据库进行交互。

然而并没有与此相关的一系列类来完成这样的工作。

因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。

一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的类库来进行连接。

简单的说,这是说怎么样和数据库交互(增删改查),五个主要对象connection 连接对象,command 执行命令和存储过程,datareader 可从数据源提供高性能的数据流dataadapter 适配器,支持增删查询,dataset 数据及对象相当于内存里的多张表NEW关键字用法1,new运算符用于创建对象和调用构造函数2,new修饰符用于想积累成员影藏集成成员类与接口的异同异1,接口不能实例化2,借口不包含方法的实现3,类只能从一个基类集成实现同1,类与接口可以继承与多个接口2,接口类似于抽象基类3,接口可以包含事件索引器,方法和属性第3章C#程序设计基础数据类型C# 中有两种类型:值类型、和引用类型值类型的变量直接存储数据如:整形等引用类型的变量存储数据的引用如:对象。

对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象如:class Program{static void Main(string[] args){A a, a1, a2;a = new A();a1 = a;a2 = a;a1.n = 33;Console.Write(a2.n.ToString());Console.Read();}}class A{public int n = 0;}对于值类型,每个变量都有它们自己的数据存储空间,因此对一个变量的操作不可能影响另一个变量。

C# 的值类型进一步划分为简单类型、枚举类型和结构类型C# 的引用类型进一步划分为类类型、接口类型、数组类型、和委托类型。

注:变量必须指定数据类型数据类型C# 中,任何类型值都可以按对象处理值类型的值则通过执行装箱和拆箱操作按对象处理。

实现方法:C# 中的每个类型直接或间接地从object 类型派生。

引用类型的值都被当作object来处理。

对于值类型,可以将int 值转换为object,处理之后在转换回int。

class Test{static void Main(){int i = 123;object o = i; // Boxingint j = (int)o; // Unboxing}}数据类型基本整型(int )短整型(short)整形长整型(long)单字节整形(byte)字符型(char)简单类型单精度型(float)实型值类型双精度型(double)布尔型(bool)小数类型(decimal )结构类型枚举类型整数类型整型定义:就是变量的值为整数的类型计算机语言中的整数跟数学上的整数定义有点差别,计算机语言中的整数有取值范围。

整数类型分类:短字节型(Sbyte)、字节型(Byte)短整型(Short)、无符号短整型(Ushort)整型(Int)、无符号整型(Uint)、长整型(Long)、无符号长整型(Ulong)。

注:变量名称前面的“u”是“Unsigned”的缩写,不能在这些类型的变量中存储负号。

以上这些不同的整数类型可以用于存储不同范围的数值,占用不同的内存空间。

常量类型:可以用数值加上后缀方法指定常量类型:u后缀:uint 或者ulong类型l后缀:long 或者ulong类型ul后缀:ulong类型f后缀:float类型d后缀:double类型m后缀:decimal类型例如;12m布尔型和字符类型布尔型类型说明符:bool布尔类型值,True 与False 。

如:static void Main(string[] args){bool b = true;if (b){Console.Write(b.ToString());Console.Read();}}字符类型字符类型包括数字字符,英文字母、表达符号等字符类型按照国际上公认的标准,采用Unicode字符集字符类型Unicode 是16位字符,占两个字节,以无符号16位整形存储,共65535个;可表示世界上已知多数的书面语言;前128个与ASCII重叠。

128-255表示拉丁字母,重音符号、货币符号等字符型变量定义char mychar =‘x’;Char mychar=(char)88;Int char 需要强制转换Char int,float,decimal 可以隐式转换double n='3';字符类型\n 换行\t 横向跳格\v 竖向跳格\b 退格\r 回车\f 走纸换页\\ 反斜杠字符\‘单引号\“双引号字符类型字符型变量赋值方法直接赋值:char ch=‘a’;转义字符:char ch=‘\x61’;强制转换:char ch=(char)97;unicode码: char ch=‘\u0061’;实数类型实数类型分类单精度(Float)双精度(Double)Decimal选取原则:对精度要求不高的计算中采用单精度型而采用双精度的结果将更为精确Decimal类型主要用于金融和货币的计算,精度更高小数类型c#提供了decimal类型,精度为28-29位有效数字,他没有无符号形式。

在精度很重要的场合,可以选择该类型。

浮点型和小数类型之间不能进行隐式转换,在一个表达式中不能同时用这两种类型。

注:小数常数后必须跟着一个m或M字符串C#支持string类型。

C#把字符串当成对象,封装了所有字符串所拥有的操作、排序和搜索方法。

定义字符串方法string s = "abcdef";字符串字符串中可以包含转义字符如“\n”或“\t”在字符串中使用反斜杠,必须在其前面再加一个反斜线。

(反斜线本身在目录路径中会用到)如下面代码所示:string directory = "C:\\text";字符串string类型变量可以看作是char变量的只读数组可以使用下面的语法访问每个字符:string myString = "abcdef";char myChar= myString[1];同时,我们还可以使用ToCharArray() 函数,把string类型的变量转存到字符数组里面。

class Program{static void Main(string[] args){string s = "abcdef";char[] myChar = s.ToCharArray();Console.WriteLine(“myChar输出如下:");foreach(char c in myChar)Console.WriteLine("{0}",c);Console.ReadLine();}}字符串字符串的串接: 使用“+”符号string city = "南京市";string street = "新街口";string address = city + street;Console.WriteLine(“地址是:”+address);输出结果:“地址是:南京市新街口”。

String类有很多方法和属性常见的有:Length 属性、ToUpper/ToLower 方法、IndexOf 方法、SubString 方法等。

字符串Length属性string str2=”you are welcome!”;int n=str2.Length;那么n就得到str2字符串的长度ToUpper()方法把字符串中所有的字母都变成大写ToLower()方法把字符串中所有的字母都变成小写字符串IndexOf()方法从字符串找出第一次出现某子字符串的位置string str1=”you are welcome”;int n=str1.IndexOf(“are”);那么n的值为4;SubString ()方法从字符串的n1个字符开始,长度为n2的子串str1.SubString(n1,n2);例题static void Main(string[] args){string s = "hello";char[] ch = new char[] {'a','b' };string ss = new string(ch);StringBuilder stbd = new StringBuilder();stbd.Append(s);stbd.Append(ss);stbd.Replace("ll", "kk", 5, 2);s = stbd.ToString();stbd.Remove(0, stbd.Length);Console.Write(stbd);Console.Read();}变量什么是变量值可以改变的量。

变量代表了存储单元,每个变量都有一个数据类型。

变量名的命名规则第一个字符必须是字母、下划线、或@后面的字符必须是字母、数字、下划线。