ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:1.52MB ,
资源ID:5728850      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5728850.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#简明教程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C#简明教程.docx

1、C#简明教程enum 枚举类型struct 结构类型,相当于js中类的属性Console.write();Console.read();装箱(将值类型转为引用类型)和拆箱例:var a=100;object obj=a;Console.write(对象的值为:0,obj);convert类:数值类型转换封装的概念:黑盒子类的继承接口的概念类与对象的关系:类定义了一个模板,通过这个模板可以生产一个或多个对象,实例化类(new)就是创建对象的过程。例:/定义一个类:public class bankcustomerpublic string firstName;public string last

2、Name;public decimal balance;public void deposite(decimal amount) this.balance+=amount;/实例化类(创建一个对象) static void Main(string args)bankcustomer c;c=new bankcustomer();this.firstName=wu;this.lastName=chuande;this.balance= 0.0M;this.deposite(1000.00M);访问修饰符:public:访问不受限制protected:访问仅限于包含类或从包含类派生的类型inter

3、nal:访问仅限于当前程序集protected internal:访问仅限于从包含类派生的当前程序集或类型private:访问仅限于包含类型(只有本身可以访问)例:Class contactPublic string m_name;Public int m_age;Public string m_telephone = “unknown”;Public struct AddressPublic string m_city;Public string m_street;Public string number;Public string Address m_address=null;Public

4、 void telnumber(string targetNumber)Console.writeline();对象引用:对象变量保存的是对对象的一个引用静态(static)类成员:静态类中的成员不属于任何对象,它可以通过类名直接访问。而实例成员必须通过建立对象的引用来访问。静态成员的定义:public static int;静态方法:用静态的方法可以返回静态的类成员,静态的方法可以不用创建实例。构造函数:构造函数是与类同名的特殊方法成员,它是实现初始化类实例所必须操作的成员,在C#中不允许使用未初始化的变量,因此在执行构造函数之前,对象是不可用的。默认实例构造函数:在C#中,如果类不包含任何

5、实例构造函数声明,则自动提供一个默认的无参数的实例构造函数,并使用默认值初始化对象字段(例如,int字段将初始化为0)。参数化的构造函数:构造函数的其他作用:静态构造函数:初始化静态的成员变量从其他构造函数中调用构造函数:可用:this()调用。调用基类的构造函数:可用:base()调用。析构函数:清理:IDispoasble接口对象的方法:声明方法的语法:【访问修饰符】 返回类型 (参数列表)调用方法的语法:实例.方法(参数);方法的重载:方法名相同,但是参数不同(参数数量不同或参数的类型不同,或返回值的类型不同),就可以实现方法的重载。名称空间:增强可读性,减少类名冲突。多级的名称空间。导

6、入名称空间:using system;导入别名的方式:using BT=teamx.businessTier;BT.Customer.c;FxCL:Framework Class Library.类库。如图所示。组件:在.net中,组件被称为程序集(assembly)例:新建类库,并且调用。继承:在C#中用“:”表示继承。如 class Baseint basevar;Base_fun1(). class Derived:Base int derivedvars;Derived_fun1() . void main()Derived dr_obj=new Derived();/调用Base类的

7、成员函数dr_obj.Base_fun1();多重继承:C#中不能多重继承,但允许多重接口实现调用base构造函数:base(a,b);virtual关键字:允许在派生类中重写基类中的方法。例public virtual void recordcall() override关键字:在子类中重写基类的方法,也叫覆盖基类中的方法。例 public override void reocrdcall() 隐藏从基类继承的成员:使用new修饰符显示隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用new修饰符修饰它。 object基类:方法重写:参数不同,方法名相同。可以

8、重写函数抽象类和抽象方法:abstract,抽象类不能实例化。就像没有叫做动物的动物一样。 从抽象类派生的类一定要实现抽象类中的抽象方法。就是动物和猫,狗之间的关系。动物相当于抽象的一个类,动物定义了眼睛,耳朵。从动物派生而出的猫,也一定要有眼睛,耳朵。不然就是异形了。密封类:sealed关键字。为了防止第三方XX扩展自己的类。多态性:理解重载和重写。多态的案例:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace duotai class Program stat

9、ic void Main(string args) /创建circle实例 circle tt = new circle(); Console.WriteLine(tt.getSides(); /创建round实例 round rr = new round(); Console.WriteLine(rr.getSides(); /sharp抽象类,创建circle实例,但调用了子类circle的方法 sharp ss = new circle(); Console.WriteLine(ss.getSides(); /定义一个抽象类Sharp public abstract class shar

10、p public abstract int getSides(); /定义一个sharp的子类:circle public class circle:sharp public override int getSides() return 1; /定义一个sharp的第二个子类:round public class round:sharp public override int getSides() return 2 ; 继承和多态的关系:继承是指子类调用了父类的方法,而多态反过来,是指父类调用了子类的方法。接口:interface例:public interface IPictint Dele

11、teImage();void DisplayImag();创建一个实现接口的类,必须实现接口中的方法。可以通过接口实现多继承。多重接口实现:一个类可以实现多个接口。显示接口实现:向上转型:例子:实现一个具体的多态using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace xiangshangzhuanxing class video static void main(string args) /DVD dvd = new DVD(); /dvd.playVideo();

12、/VCD vcd = new VCD(); /vcd.playVideo(); /实现多态 video tt = new video(); tt.Playvideo(); /video的一个方法 public void Playvideo() /抽象类vw,vw可以实现两个类里的两种不同方法,可以称之为接口,此即多态性 showVideo vw; /vw的第一种方法 vw = new DVD(); Console.WriteLine(play DVD); /vw的第二种方法 vw = new VCD(); Console.WriteLine(play VCD); /定义了一个抽象类 publi

13、c abstract class showVideo public abstract string playVideo(); /实现了一个抽象类 public class DVD : showVideo public override string playVideo() return it is playing DVD; /实现了第二个抽象类 public class VCD:showVideo public override string playVideo() return it is playing VCD; 运算符重载:using System;using System.Collec

14、tions.Generic;using System.Linq;using System.Text;namespace 运算符重载 class Program static void Main(string args) /定义了三个实例 vecture vec1, vec2, vec3; vec1 = new vecture(1.0,2.0,3.0); /定义了以vec1为参数的实例vec2 vec2 = new vecture(vec1); /vec3利用运算符重载 vec3 = vec1 + vec2; Console.WriteLine(vec3.ToString(); /定义一个vec

15、ture类 class vecture private double x, y, z; public double X get return x; set x=value; public double Y get return y; set y = value; public double Z get return z; set z = value; /定义无参数的构造函数 public vecture() x = 0; y = 0; z = 0; /定义一个参数的构造函数,以类vecture的实例rhs为参数 public vecture(vecture rhs) x = rhs.x; y

16、= rhs.y; z = rhs.z; /定义一个三个参数的构造函数 public vecture(double x,double y,double z) this.x = x; this.y = y; this.z = z; /重写了ToString方法 public override string ToString() return x的坐标是:+x+y的坐标是+y+z的坐标是+z; /定义了一个+号运算符重载,令两个vecture实例的属性进行相加 public static vecture operator +(vecture lhs, vecture rhs) vecture res

17、ult = new vecture(lhs); result.x += rhs.x; result.y += rhs.y; result.z += rhs.z; return result; 索引器实例using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 索引器实例 class Program static void Main(string args) Album myAlbum = new Album(2); photo first = new photo(吴传徳

18、); photo second = new photo(吴传义); myAlbum0 = first; myAlbum1 = second; photo testPhoto=myAlbum0; Console.WriteLine(testPhoto.Title); photo testPhoto2 = myAlbum吴传义; Console.WriteLine(testPhoto2.Title); /定义一个photo类 class photo private string PhotoTitle; /定义两个构造函数,一个为默认值,一个为有一个参数的函数 public photo() Phot

19、oTitle = 楚广明; public photo(string title) PhotoTitle = title; /定义了属性为只读属性的get访问器 public string Title get return PhotoTitle; class Album /定义了相册的成员:相片,将其定义为一个数组 photo photos; /定义构造函数,初始化成员 public Album() photos = new photo3; public Album(int x) photos = new photox; /定义一个根据索引的索引器,索引器是属性的增强版,这里的photo是指返回

20、值为photo类型 public photo thisint index get if (index=photos.Length) Console.WriteLine(索引不存在); return null; return photosindex; set if (index = photos.Length) Console.WriteLine(索引不存在); return; photosindex=value; /定义一个根据title的索引器 public photo thisstring title get foreach (photo p in photos) if (p.Title=

21、title) return p; Console.WriteLine(找不到); return null; 异常处理:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 异常处理 class Program static void Main(string args) string userInput; while (true) try Console.WriteLine(请输入一个0到5之间的数,或者按回车键退出); userInput = Console.ReadLine(); if (userInput=) break; int x = Convert.ToInt16(userInput); if (x 5) throw new Exception(您输入的数字是 + x + 超出索引范围); catch (Exception e) Console.WriteLine(成功接住抛出的异常,异常信息为: + e.Message); finally Console.WriteLine(谢谢您的使用!);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1