C#
乔培宸
这个作者很懒,什么都没留下…
展开
-
C#入门6.12——字符串的复制
复制是通过Copy和CopyTo来实现的。string.Copy(要复制的字符串);CopyTo(要复制字符的起始位置(从第几个字符开始往后复制(不包括第几个字符)),目标字符数组,目标数组中的开始存放位置,要复制的字符个数);//Copy静态方法:string.方法来引用string str="QiaoPeichen";string copyStr=string.Copy原创 2016-08-06 17:44:02 · 4946 阅读 · 0 评论 -
C#入门4.3——赋值运算符
赋值运算符=为简单赋值,其他的为复合赋值。使用这些运算符,特别是在使用长变量名时,更便于阅读。这里不再过多阐述。原创 2016-08-04 09:23:59 · 483 阅读 · 0 评论 -
C#入门7.1——一维数组的声明
一维数组以线性方式存储固定数目的数组元素,它只需要1个索引值即可标识任意1个数组元素。声明格式:数据类型[]说明:数据类型可以为任意数据类型数组访问之前必须初始化初始化方式有两种:1.new关键字。2.字面值逗号相隔指定。初始化需要注意的问题:1.数组大小与总个数一致,否则编译失败。2.数组的大小一定是一个常量3.数组元素值已知时用字面值声明,元素值未知原创 2016-08-08 10:36:28 · 813 阅读 · 0 评论 -
C#入门7.2——一维数组的使用
1输入某个数组元素2数组元素重新赋值3遍历元素4for循环5foreach循环string[] name={"张三","李四","王五","老六"};//使用数组中的元素是通过索引值来实现的。//数组元素的转出Console.WriteLine(name[1]);//数组元素的重新赋值//Console.WriteLine(name[3]);//na原创 2016-08-08 10:52:31 · 842 阅读 · 0 评论 -
C#入门7.3——二维数组的声明
声明格式:数据类型[,]初始化同样有两种:1. new关键字2. 字面值初始化//二维数组的声明string[,] Friend;//初始化第一种方法:指定字面值,适用于已知元素内容string[,] Friend2={{"张三","男"},{"李四","女"},{"王五","男"},{"赵六","男"}};//初始化第二种方法:new关键字,适用于原创 2016-08-08 11:11:41 · 854 阅读 · 0 评论 -
C#入门7.4——二维数组的使用
数组元素重新赋值遍历元素 for循环 foreach循环二维数组使用for循环遍历时,要用两个for循环语句。同样,多维数组就需要多个for循环。因此最好使用foreach语句,只需一条就可访问整个数组的元素,使其更加方便。string[,] friendName=new string[5,2] {{"张三","男"},{"李四","女"},{"王五","原创 2016-08-08 11:40:03 · 957 阅读 · 0 评论 -
C#入门10.6——密封类与密封方法
并不是所有的类都可以被继承,不能继承的类称为密封类,用关键字sealed。适用场合:如果要对库、类或自己编写的其他类进行操作,则重写某些功能会导致编译错误。因为商业原因把类或方法标记为sealed,以防第三方以违反注册协议的方式扩展该类。注意:密封类中不能包含虚方法(Virtual)和抽象方法(abstract),因为在密封的类没有为派生类提供实现其虚方法和抽象方法的机会。原创 2016-08-29 20:22:37 · 4228 阅读 · 0 评论 -
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 · 966 阅读 · 0 评论 -
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 · 7283 阅读 · 0 评论 -
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 · 356 阅读 · 0 评论 -
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 · 4775 阅读 · 0 评论 -
C#入门4.5——布尔运算符
&与 //全真为真|或 //有真就真!非 //全假为真^异或 //一真一假为真你们可能会问:为什么会有&和|运算符,原因是两个运算符可用于对数值执行操作。实际上,它们处理的是存储在变量中的一系列位,而不是变量的值。下节再曰。原创 2016-08-04 10:20:00 · 1382 阅读 · 0 评论 -
C#入门6.18——本章总结及任务实施
提示用户输入字符串1和字符串2,然后比较字符串1和字符串2,并将大的字符串总的各元素用|进行间隔输出。比如输入abcde和abcdefg,输出a|b|c|d|e|f|gusing System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间using System.Threa原创 2016-08-07 19:03:21 · 344 阅读 · 0 评论 -
C#入门1.4——Net Framework编写应用程序的过程
使用.NET Framework编写应用程序,就是使用.NET代码库编写代码(使用支持Framework的任何一种语言)。为执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码(native code),这种转换称为编译代码,由编译器执行。CIL在编译使用.NET Framework库的代码时,不是立即创建专用于操作系统的本机代码,而是把代码编译为通用中间语言(Comm原创 2016-08-03 12:07:42 · 1747 阅读 · 1 评论 -
C#入门1.5——第一个控制台程序
控制台程序 Console Application为兼容MS(Microsoft)-DOS而创建的一种程序,此程序只有一个单一的界面。控制台就是cmd。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks原创 2016-08-03 12:41:09 · 670 阅读 · 0 评论 -
C#入门6.13——字符串的替换
替换是通过Replace来实现的。字符串.Replace(要替换的原字符串,替换后的字符串);string str="Qiaopeichen":Console.WriteLine(str.Replace('p','P')); //非静态方法,可以:变量名.方法, 输出为QiaoPeichen原创 2016-08-06 17:54:24 · 568 阅读 · 0 评论 -
C#入门6.14——字符串的查找
查找是通过IndexOf和LastIndexOf两个方法实现的。字符串.IndexOf(要查找的字符或字符串);返回要查找字符或字符串第一次在所要查找的字符串中出现的位置。字符串.LastIndexOf(要查找的字符或字符串);返回要查找的字符或字符串最后一次在所要查找的字符串中出现的位置。均返回一个整数,如果所要查找的字符串内不包含要查找的字符或字符串则返回一个负数。Co原创 2016-08-07 17:39:52 · 568 阅读 · 0 评论 -
C#入门10.5——抽象类与抽象方法声明
抽象类与非抽象类抽象类前有关键字abstract,没有则为非抽象类声明格式public abstract class Fly//抽象类要加关键字{ public abstract void flys();//声明抽象方法不能有方法体}抽象类不能实例化,必须通过集成由派生类实现其抽象方法,因此不能用new,不能sealed如果派生类没有实现所有的抽象方法,则该派原创 2016-08-28 22:42:05 · 1235 阅读 · 0 评论 -
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 · 377 阅读 · 0 评论 -
C#入门9.8——构造函数和析构函数(1)
构造函数和析构函数共性:编写代码时,如果没有提供它们,则编译器自动添加。作用:帮助我们初始化对象(给对象的每个属性依次的赋值)构造函数是一个特殊的方法:1.构造函数没有返回值,连void也不能写,必须public。 2.构造函数的名称必须和类名一样。using System;using System.Collections.Generic;using System.Linq;us原创 2016-08-18 15:17:13 · 338 阅读 · 0 评论 -
C#入门6.15——类型转换
类型转换有三种方式1. (int),2. Convert.ToInt32(),3. int.Parse()区别:1.处理空值null2.处理数值时:(int)强制转换不进行四舍五入3.Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的。4.Parse就是把String转换成int,char,double...等,也就是*.Pars原创 2016-08-07 18:36:22 · 507 阅读 · 3 评论 -
C#入门6.17 StringBuilder类
原有字符串http://www.baidu.com要求:1追加“一个神奇的网站”2利用插入进行换行3再移除换行4替换“神奇”为“强大”using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用命名空间using System.Threading.Task原创 2016-08-07 18:50:38 · 337 阅读 · 0 评论 -
C#入门5.12——跳转语句之goto语句
goto语句使用格式 goto 标识符;标识符标识程序位置的方法 标识符:作用:当程序执行到goto语句时,程序会直接跳转到标识符所标识的程序位置,继续执行代码。举个例子,利用goto语句实现选择题 5!=? 1. 5!=5 2. 5!=10 3. 5!= 30 4. 5!=60 //阶乘 别看错了。如果选择正确,原创 2016-08-05 10:08:12 · 3917 阅读 · 0 评论 -
C#入门9.6——属性的使用(1)
属性的使用:使程序员可以创造新的声明性信息的种类,称为属性。属性是对现实世界中实体特征的抽象,是为访问自定义类型的注释信息提供通用的访问方式。属性能够以一种公开的思路方法进行访问。属性的作用:保护字段,对字段的取值与赋值进行限定。说明:属性往往被声明在字段的下方,并且将字段私有化。属性的格式public [对应字段类型] 属性名(Name){get {retu原创 2016-08-17 16:55:45 · 590 阅读 · 1 评论 -
C#入门10.7——本章小结及任务实施
任务实施多态实现的方法:1.虚方法:可以抽象出一个父类,并且这个抽象类需要有实现。 例:员工、项目经理 工作计划2.抽象类:可以抽象出一个父类,但是这个抽象类需要有一个方法,但是实现方法的途径未知。例:吃:麻雀 老鹰 鸵鸟,不需要父类创建对象。3.接口:不能抽象出一个父类,但是可以找到他们的共同点,也就是共同的行为、能力。(共同的属性、方法),接口表明的是一种能力,一种规范。实原创 2016-08-30 20:33:11 · 384 阅读 · 0 评论 -
C#入门9.12——类的封装
面向对象的三个基本特征是封装、继承、多态。概念:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。意义:封装的意义在于保护或者防止代码(数据)被我们无意中破坏。防止对实现细节的访问。我们只是提供调用类的方法,而调用者不必了解到类内部怎样处理相关数据。C#中通常将方法或者其他数据成员封装在一个类中,具体原创 2016-08-20 19:58:33 · 2033 阅读 · 0 评论 -
C#入门11.5_预定义异常类(2)
InvalidCastException 类型的显示转换在运行时失败时,就会引发此异常ArrayTypeMismatchException 当存储一个数组时,如果由于被存储的元素的实际类型与数组的实际类型不兼容而导致存储失败,就会引发此异常ArithmeticException 算术运算期间异常发生的基类 DivideByZeroException 试图除以零引发OverflowE原创 2016-09-03 23:03:17 · 619 阅读 · 0 评论 -
C#入门11.6_自定义异常类
C#语言虽然预定义了许多异常类,但是,在有些场合,创建自己的异常类可能会方便.自定义异常类是通过继承System.Exception类来创建自己的异常。声明异常格式class 自定义的异常类名:Exception{}引发异常格式throw (自定义的异常类名);public static void RunSnippet() { try { Console.Wri原创 2016-09-04 22:22:27 · 461 阅读 · 0 评论 -
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 · 404 阅读 · 0 评论 -
C#入门10.2——接口的实现和继承(1)
实现过程必须在实现接口的类中完成。类继承具有单根性,接口可多重继承。父接口也称为该接口的显示基接口。接口多重继承时,派生接口名与父接口用冒号隔开,多个父接口之间用逗号隔开。接口的成员之间不能同名,继承的成员不用再声明,但接口可以定义与继承而来的成员同名的成员,这称为接口成员覆盖了继承而来的成员,这不会导致错误,但编译器会给出一个警告。关闭警告提示的方法是在成员声明前加上一个原创 2016-08-25 16:19:10 · 710 阅读 · 0 评论 -
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 · 438 阅读 · 0 评论 -
C#入门8.1——方法的声明及调用(1)
方法为什么会存在?迄今看到的代码块都是单个代码块形式实现的,其中包含一些重复执行的循环代码以及有条件的执行的分支语句。如果要对数据执行某种操作,就应把所需要的代码放在合适的位置。如果有大量重复性操作该怎么办?需要修改时呢?方法概述:方法是一种用于实现可以有对象(或类)执行的计算机或操作的成员,是一个已命名的语句集。每个方法都有一个名称和一个主体。方法名应该是一个有意义的标识原创 2016-08-14 11:41:04 · 2345 阅读 · 0 评论 -
C#入门8.3——静态方法和实例方法
判断是否是静态方法的标识有static关键字:静态方法没有static关键字:实例方法区别:静态方法不对特定实例进行操作,静态方法只能访问类中的静态成员,而不能使用实例成员。访问静态方法只能使用类名,而不需要创建对象,也不能使用对象名来引用。实例方法可以使用类的任何成员。调用实例方法时,必须使用类的实例或对象来引用。实例方法对类的某个给定的实例进行操作,在实例方法类中可以使用thi原创 2016-08-14 18:22:55 · 1189 阅读 · 0 评论 -
C#入门8.4——虚方法
若一个实例方法的声明中含有virtual修饰符,则称该方法为虚方法。若其中没有virtual修饰符,则称该方法为非虚方法。实例:创建一个虚方法与一个非虚方法,然后分别通过另一个类继承,并比较它们的调用结果。using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用原创 2016-08-14 20:03:51 · 367 阅读 · 0 评论 -
C#入门11.7_本章小结及任务实施
实例:让用户输入一个数,然后求该数的倒数根据用户输入内容的不同产生相应异常提示1.除零异常2.溢出异常3.转换异常4.其他未知异常public static void RunSnippet() { Console.WriteLine("请输入一个整数:"); try { int myint=int.Parse(Console.ReadLine());原创 2016-09-05 21:33:14 · 399 阅读 · 0 评论 -
C#入门12.1——创建Winform程序
RADVisual Studio是一套完整的开发工具集RAD工具(Rapid Application Development)//rapid=迅速创建用户界面时,把控件从工具箱拖放到窗体上,把它们放在应用程序运行时需要的地方,再双击该控件,添加控件的处理程序。Microsoft提供的空间和可以按合理加个够得的定制控件,为程序员提供了空前巨大的、已进行了全面测试的重用代码池,仅通过鼠原创 2016-09-06 12:49:54 · 2776 阅读 · 0 评论 -
C#入门10.1——接口的声明
接口概述在我们的计算机编程中,我们调用的很多函数其实抽象的说是接口,像我们经常听到API函数。API其实就是Application Programming Interface的缩写,翻译过来就是应用程序接口。定义:指描述可属于任何类或结构的一组相关功能。就是一种规范、功能。组成:可由属性、方法、事件、索引器或这四种成员类型的任意组合构成。接口的声明格式修饰符interfac原创 2016-08-24 19:08:52 · 2751 阅读 · 0 评论 -
C#入门9.14——本章小结及任务实施
老鹰eagle、麻雀sparrow、鸵鸟ostrich都是鸟类birds,根据三者的共性,提取出鸟类作为父类;并且各自具有格子的特点,老鹰吃小鸡,麻雀吃粮食,鸵鸟吃青草。 class ostrich:bird { public override void Write() { Console.WriteLine("鸵鸟原创 2016-08-24 18:08:46 · 622 阅读 · 0 评论 -
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 · 493 阅读 · 0 评论 -
C#入门7.9——ArrayList类中元素的添加
前面讲到数组一旦给定大小就是固定的了,不能再改。还有一种数组是可以扩充的,即ArrayList类,被称为动态数组或者集合。使用步骤:1.引入命名空间System.Collections;2.创建实例。3.引用对应的属性或方法。实例:创建ArrayList实例myArrayList,使其固定大小为5,通过Add方法对其添加5个元素,再通过AddRange方法对其添加一个数原创 2016-08-09 14:04:11 · 3564 阅读 · 0 评论