自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (3)
  • 收藏
  • 关注

原创 C#入门11.2——清除、处理所有异常

如果用户对产生的错误不进行处理,而消除产生的错误分配的资源try{//包含容易产生异常的代码}finally{//用于消除try块中分配的任何资源以及运行任何即使在发生异常时也必须执行的代码。}最好的组合,合并两种错误处理技术,即捕获错误、消除并继续执行应用程序。try{//包含容易产生异常的代码}catch(异常类,异常实例对象){//

2016-08-31 20:07:51 1312

原创 C#入门11.1——捕获异常

异常是程序运行中发生的错误,异常处理是程序设计的一部分。错误的出现并不总是编写应用程序者的原因,有时应用程序会因为终端用户的操作而发生错误。无论如何,在编写程序前,都应预测应用程序和代码中出现的错误。三种异常处理语句1.try...catch //捕获异常2.try...finally//清除异常3.try...catch...finally//处理所有异常try{//

2016-08-30 21:52:53 535

原创 C#入门10.7——本章小结及任务实施

任务实施多态实现的方法:1.虚方法:可以抽象出一个父类,并且这个抽象类需要有实现。 例:员工、项目经理 工作计划2.抽象类:可以抽象出一个父类,但是这个抽象类需要有一个方法,但是实现方法的途径未知。例:吃:麻雀 老鹰 鸵鸟,不需要父类创建对象。3.接口:不能抽象出一个父类,但是可以找到他们的共同点,也就是共同的行为、能力。(共同的属性、方法),接口表明的是一种能力,一种规范。实

2016-08-30 20:33:11 398

原创 C#入门10.6——密封类与密封方法

并不是所有的类都可以被继承,不能继承的类称为密封类,用关键字sealed。适用场合:如果要对库、类或自己编写的其他类进行操作,则重写某些功能会导致编译错误。因为商业原因把类或方法标记为sealed,以防第三方以违反注册协议的方式扩展该类。注意:密封类中不能包含虚方法(Virtual)和抽象方法(abstract),因为在密封的类没有为派生类提供实现其虚方法和抽象方法的机会。

2016-08-29 20:22:37 4274

原创 C#入门10.5——抽象类与抽象方法声明

抽象类与非抽象类抽象类前有关键字abstract,没有则为非抽象类声明格式public abstract class Fly//抽象类要加关键字{    public abstract void flys();//声明抽象方法不能有方法体}抽象类不能实例化,必须通过集成由派生类实现其抽象方法,因此不能用new,不能sealed如果派生类没有实现所有的抽象方法,则该派

2016-08-28 22:42:05 1279

原创 C#入门10.4——显式实现接口

隐式实现接口    既可用接口调用方法,也可用具体类调用方法显式实现接口实现接口的方法前不能用访问修饰符public,必须显式指定接口名称    返回值类型 接口名称.接口方法    只能是通过接口来调用,而不能通过具体类来做同时实现 隐式实现接口和显式实现接口    这样完成了对一个接口成员提供多份实现实体,访问时可以用类的实例和接口的引用来分别调用这两种实现实体。显

2016-08-27 22:35:52 677

原创 C#入门10.3——接口的实现和继承(2)

static void Main(string[] args) { IFlyable[] flys = { new Sprraw(), new Eagle(), new Swan(), new Ballon() }; foreach (IFlyable outFlys in flys) outFlys.Fly();

2016-08-25 21:37:54 416

原创 C#入门10.2——接口的实现和继承(1)

实现过程必须在实现接口的类中完成。类继承具有单根性,接口可多重继承。父接口也称为该接口的显示基接口。接口多重继承时,派生接口名与父接口用冒号隔开,多个父接口之间用逗号隔开。接口的成员之间不能同名,继承的成员不用再声明,但接口可以定义与继承而来的成员同名的成员,这称为接口成员覆盖了继承而来的成员,这不会导致错误,但编译器会给出一个警告。关闭警告提示的方法是在成员声明前加上一个

2016-08-25 16:19:10 735

原创 C#入门10.1——接口的声明

接口概述在我们的计算机编程中,我们调用的很多函数其实抽象的说是接口,像我们经常听到API函数。API其实就是Application Programming Interface的缩写,翻译过来就是应用程序接口。定义:指描述可属于任何类或结构的一组相关功能。就是一种规范、功能。组成:可由属性、方法、事件、索引器或这四种成员类型的任意组合构成。接口的声明格式修饰符interfac

2016-08-24 19:08:52 2783

原创 C#入门9.14——本章小结及任务实施

老鹰eagle、麻雀sparrow、鸵鸟ostrich都是鸟类birds,根据三者的共性,提取出鸟类作为父类;并且各自具有格子的特点,老鹰吃小鸡,麻雀吃粮食,鸵鸟吃青草。 class ostrich:bird { public override void Write() { Console.WriteLine("鸵鸟

2016-08-24 18:08:46 658

原创 C#入门9.13——类的多态

在类的继承中,C#允许在基类与派生类中生命具有同名的方法,而且同名的方法可以有不同的代码,也就是说在基类与派生类的相同功能中可以有不同的实现方法,从而为解决同一问题提供多个途径。多态性就是指在程序运行时,执行的虽然是一个调用方法的语句,却可以根据派生类对象的类型不同完成方法不同的具体实现。在C#中可以通过多种途径实现多态性。虚方法:1.将父类的方法标记为虚方法,使用关键字virtu

2016-08-24 13:08:29 482

原创 C#入门9.12——类的封装

面向对象的三个基本特征是封装、继承、多态。概念:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。意义:封装的意义在于保护或者防止代码(数据)被我们无意中破坏。防止对实现细节的访问。我们只是提供调用类的方法,而调用者不必了解到类内部怎样处理相关数据。C#中通常将方法或者其他数据成员封装在一个类中,具体

2016-08-20 19:58:33 2067

原创 C#入门9.10——类的继承

面向对象的三个基本特征是封装、继承、多态。三个类父类Clerk:_name,Name;_department,Department子类Sales:_name,Name;_department,Department;_salesTarget,SalesTarget子类Technical Support:_name,Name;_department,Department;_satisf

2016-08-20 11:48:04 506

原创 C#入门9.9——构造函数与析构函数(2)

new关键字:1.在内存中开辟空间  2.在开辟的空间中创建对象  3.对对象进行初始化,将各个属性值赋值创建对象的时候会执行构造函数构造函数是可以有重载的类当中会有一个默认的无参数的构造函数,当你写一个新的构造函数之后,不管是有参数的还是无参数的,那个默认的无参数的构造函数都被覆盖掉了。析构函数是实现销毁一个类的实例的方法成员。析构函数不能有参数,不能有任何修

2016-08-18 15:33:05 396

原创 C#入门9.8——构造函数和析构函数(1)

构造函数和析构函数共性:编写代码时,如果没有提供它们,则编译器自动添加。作用:帮助我们初始化对象(给对象的每个属性依次的赋值)构造函数是一个特殊的方法:1.构造函数没有返回值,连void也不能写,必须public。 2.构造函数的名称必须和类名一样。using System;using System.Collections.Generic;using System.Linq;us

2016-08-18 15:17:13 352

原创 C#入门9.7——属性的使用(2)

属性的“设置”(set)方法和“获取”(get)方法包含在属性声明中,Get属性访问器用于返回属性值,Set属性访问器用于分配新值。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Console

2016-08-18 15:05:43 389

原创 C#入门9.6——属性的使用(1)

属性的使用:使程序员可以创造新的声明性信息的种类,称为属性。属性是对现实世界中实体特征的抽象,是为访问自定义类型的注释信息提供通用的访问方式。属性能够以一种公开的思路方法进行访问。属性的作用:保护字段,对字段的取值与赋值进行限定。说明:属性往往被声明在字段的下方,并且将字段私有化。属性的格式public [对应字段类型]  属性名(Name){get {retu

2016-08-17 16:55:45 622 1

原创 C#入门9.4——类与对象的关系

一切皆对象。现实世界中我们描述一个对象是通过描述其特征和行为说明的。我们在代码中描述一个对象,通过描述这个对象的属性和方法。对象必须是看得见摸得着的。我们把这些具有相同属性和相同方法的对象进行进一步的封装,抽象出来类这个概念。类就是个模子,确定了对象应该具有的属性和方法。对象是根据类创建出来的。类不占内存,对象占内存。大学是一个类,哈尔滨商业大学是一个对象。——李恩临

2016-08-17 16:23:19 803

原创 C#入门9.3——面向对象概述

两种重要的思想面向过程:将一个项目(或者一件事)从头到位按顺序,一步一步完成,先做什么,后做什么,一直到结束,也是我们人做事的方法。面向对象:将一个项目(或者一件事)分成更小的项目(或者更小的部分),每一部分负责一方面的功能,最后由这些部分组成一个整体。这种方法适合多人工作。面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,然后在使用的时候一一调用即可,强调的是

2016-08-17 16:13:04 301

原创 C#入门9.2——枚举

为什么会有枚举?多人同时开发ERP人员管理系统存储人员信息有:姓名,性别,年龄,部门,职位。简言之:如果希望得到一个固定集合的值,就采用枚举。声明方式:public enum 枚举名{值1,值2,值3,......}类型转换:枚举与int相互转换要获得枚举的值,只要转换为string类型。枚举与string相互转换如果将字

2016-08-17 08:54:49 636 1

原创 C#入门9.1——结构的使用

假如一个大型公司要求我们做一个ERP资源管理系统中的人员管理模块,我们应该怎样声明存储人员的各种信息的变量?用数组?用结构。一次性声明多个不同类型的变量。初始化结构成员可通过两种方式来完成1.使用参数化构造函数,即使用new关键字2.声明结构后分别访问成员(如果只给部分字段赋值会报错)using System;using System.Collections.Ge

2016-08-17 08:02:00 394

原创 C#入门8.10——本章小结及任务实施

实例:通过方法实现,某个整数加法表与乘法表的一个输出。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication8{ class Program

2016-08-16 11:36:34 338

原创 C#入门8.9——Main方法

Main方法是程序的入口点。程序从这里开始,也是从这里结束。执行过程:程序在执行编写的源代码时,是先找Main方法,然后开始执行Main方法中“{”开始后的第一句代码,依次执行,如果遇到Main方法中有调用其他的方法时,便会根据方法名称找到定义方法的代码,然后执行这个方法内的代码,执行完这个方法后,再返回到Main方法继续执行,直到遇到Main方法的结束符“}”,执行程序结束。C#的Mai

2016-08-16 11:25:22 1278

原创 C#入门8.8——方法的重载

方法重载是一种操作性多态。有的时候,可能需要在多个不同的实现中对不同的数据执行相同的逻辑操作。以WriteLine方法为例,有时可能向它传递一个格式字符串和其他一些参数,也可能只向它传递一个整数。两者的具体实现肯定是不同的,但在逻辑上,这个方法负责的是输出数据。至于方法内部具体是如何实现的,很多读者并不关心。在面向对象这样的高级语言中,都允许在一个类中定义多个方法名相同、方法中参数个数和参数顺

2016-08-16 10:44:22 627

原创 C#入门8.7——分部方法

分部方法:方法声明中含有partial修饰符分部方法必须在分部类或分部结构中声明,必须私有分部方法有着严格的限制第一,方法必须返回void,只能默认为private第二,分部方法不能为virtual和extern方法第三,分部方法可以有ref参数,但不能有out参数因为任何针对没有被实现的分部方法的调研那个都会简单地被忽略,所以说这些限制是非常有必要的实例:通过

2016-08-16 10:32:47 964

原创 C#入门8.6——外部方法

当方法声明包含extern修饰符时,称该方法为外部方法。外部方法是在外部实现的,编程语言通常是使用C#以外的语言。外部方法不可以是泛型。extern修饰符通常与DllImport属性一起使用,从而使外部方法可以由DLL(动态链接阵)实现。执行环境可以支持其他用来提供外部方法实现的机制。当外部方法包含DllImport属性时,该方法声明必须同时包含一个static修饰符。using Syst

2016-08-16 10:08:55 1531

原创 C#入门8.5——重写方法

重写方法用相同的签名重写所继承的虚方法。虚方法声明用于引入新方法,而重写方法声明则用于使现有的继承应方法专用化。由override声明所里写的那个方法成为已重写了的基方法。重写声明和已重写了的基方法具有相同的声明可访问性。换句话说,重写声明不能更改所对应的虚方法的可访问性。但是,如果已重写的基方法是protected时,并且声明它的程序集不是包含重写方法的程序集,则重写方法声明的可访问性必须是

2016-08-15 11:24:49 877

原创 C#入门8.4——虚方法

若一个实例方法的声明中含有virtual修饰符,则称该方法为虚方法。若其中没有virtual修饰符,则称该方法为非虚方法。实例:创建一个虚方法与一个非虚方法,然后分别通过另一个类继承,并比较它们的调用结果。using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用

2016-08-14 20:03:51 390

原创 C#入门8.3——静态方法和实例方法

判断是否是静态方法的标识有static关键字:静态方法没有static关键字:实例方法区别:静态方法不对特定实例进行操作,静态方法只能访问类中的静态成员,而不能使用实例成员。访问静态方法只能使用类名,而不需要创建对象,也不能使用对象名来引用。实例方法可以使用类的任何成员。调用实例方法时,必须使用类的实例或对象来引用。实例方法对类的某个给定的实例进行操作,在实例方法类中可以使用thi

2016-08-14 18:22:55 1241

原创 C#入门8.2——方法的声明及调用(2)

using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间using System.Threading.Tasks;using System.Collections;namespace ConsoleApplication4{ class Program

2016-08-14 12:22:42 455

原创 C#入门8.1——方法的声明及调用(1)

方法为什么会存在?迄今看到的代码块都是单个代码块形式实现的,其中包含一些重复执行的循环代码以及有条件的执行的分支语句。如果要对数据执行某种操作,就应把所需要的代码放在合适的位置。如果有大量重复性操作该怎么办?需要修改时呢?方法概述:方法是一种用于实现可以有对象(或类)执行的计算机或操作的成员,是一个已命名的语句集。每个方法都有一个名称和一个主体。方法名应该是一个有意义的标识

2016-08-14 11:41:04 2359

原创 C#入门7.12——本章小结及任务实施

using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间using System.Threading.Tasks;using System.Collections;namespace ConsoleApplication4{ class Program

2016-08-09 19:51:46 416

原创 C#入门7.11——ArrayList类中元素的遍历与查找

遍历:foreach语句,object类型object:ArrayList中存储的类型不一定一支,也不一定能够完全转换,所以为了避免出错,我们采用object类型。using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间using System.Threa

2016-08-09 18:31:55 9395

转载 C#入门7.10——ArrayList类中元素的删除

ArrayList类中元素的删除有以下四种方法:1.ArrayList变量名.Remove(要删除的值);2.ArrayList变量名.RemoveAt(索引值);3.ArrayList变量名.RemoveRange(开始索引值,要删除的个数);4.ArrayList变量名.Clear(); //清空。using System;using System.Collections

2016-08-09 14:36:43 5501

原创 C#入门7.9——ArrayList类中元素的添加

前面讲到数组一旦给定大小就是固定的了,不能再改。还有一种数组是可以扩充的,即ArrayList类,被称为动态数组或者集合。使用步骤:1.引入命名空间System.Collections;2.创建实例。3.引用对应的属性或方法。实例:创建ArrayList实例myArrayList,使其固定大小为5,通过Add方法对其添加5个元素,再通过AddRange方法对其添加一个数

2016-08-09 14:04:11 3633

原创 C#入门7.8——数组合并与拆分

Array提供了copy方法,Copy方法有四个重载使用格式:Array.Copy(数组1,数组2,长度);Array.Copy(数组1,数组2,Int64);Array.Copy(数组1,指定索引,数组2,指定索引,长度);Array.Copy(数组1,指定索引,数组2,指定索引,Int64);using System;using System.Collections.

2016-08-08 18:31:02 4835

原创 C#入门7.7——数组排序

Array中提供了Sort与Reverse两种方法Array.Sort(数组);  升序排列Array.Reverse降(数组);  降序排列using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间using System.Threading.Tasks;

2016-08-08 17:23:06 370

原创 C#入门7.6——查找数组元素

解决两类问题:1.看这个数组是否存在某个元素。2.获取已知存在元素的索引值Array方法:1.IndexOf  2.LastIndexOf  3.BinarySearch  4.Containsusing System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间u

2016-08-08 14:27:13 7474

原创 C#入门7.5——遍历数组

C#数组是由System.Array类派生而来的引用对象,可以使用Array类的属性来对数组进行各种操作。using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间using System.Threading.Tasks;namespace ConsoleApp

2016-08-08 14:00:29 994

原创 C#入门7.4——二维数组的使用

数组元素重新赋值遍历元素    for循环    foreach循环二维数组使用for循环遍历时,要用两个for循环语句。同样,多维数组就需要多个for循环。因此最好使用foreach语句,只需一条就可访问整个数组的元素,使其更加方便。string[,] friendName=new string[5,2]  {{"张三","男"},{"李四","女"},{"王五","

2016-08-08 11:40:03 1014

sublime主题配色

sublimeText2主题配色,使用简单,一键导入,无后顾之忧。

2017-11-18

APK反编译工具合集

APK反编译工具老三套。

2017-07-16

android开发使用的ADB免安装版

2017-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除