《c#数组字符串和类.ppt》由会员分享,可在线阅读,更多相关《c#数组字符串和类.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于关于C#的一些介绍的一些介绍20112011年年5 5月月目目 录录n数据类型n字符串n接口数据类型 n值类型 基本类型 int,double,char,sbyte,decimal 其它 enum,structn引用类型 class,object(对象类型),string类型,interface,delegate与c+数据类型的区别nC#增加高精度型128位数据类型(用于货币等)decimalval=1.23M;n给定变量数据类型的时候,必须赋初值。c#在做判断时=会有提示错误。n在C#中,所有的基本数据类型都是System命名空间中的对象。对于每个C#数据类型,都提供一个简称或别名。例如
2、,int是System.Int32的简称装箱和拆箱n所有的值类型和引用类型都是基于System.objectn装箱:将值类型转换为object类型或由此值类型实现的任一接口类型的过程。n拆箱:将从对象中提取值类型。ninti=123;objeco=i;知识补充(堆和栈)nheap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。在。Net中存储引用类型nstack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。n比如创建一个对象:Customercus;cus=newCustomer();申明一个Customer的引用cus,在堆栈上给这个引用分配存
3、储空间。这仅仅只是一个引用,不是实际的Customer对象!枚举类型n枚举是一个指定的常数,其基础类型可以是除Char外的任何整型。n枚举第一个值默认为0n枚举分为两种,一种为简单枚举,另外一种就是标志枚举使用枚举的优点n枚举可以使代码更易于维护,有助于确保给变量指定合法的、期望的值。n枚举使代码更清晰,允许用描述性的名称表示整数值,而不是用含义模糊的数来表示。n枚举使代码更易于键入。在给枚举类型的实例赋值时,VS.NETIDE会通过IntelliSense弹出一个包含可接受值的列表框,减少了按键次数,并能够让我们回忆起可能的值字符串n字符串是引用类型nString和string是一样的n创建
4、字符串使用原样字符串(以符号开头)创建和不适用的区别n其它数据类型转换为String类型(ToString()方法)字符串的基本操作n得到字符串的长度:Lengthn得到子字符串:substring()n格式化一个字符串:Format()n插入字符串:insert()n删除字符串中某个小字符串:Remove()StringBuilder:动态操作字符串n对字符串(String)进行操作的方法实际上返回的是新的字符串对象。nStringBuilder是在原来空间的基础上动态增加n当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。n设置容量(当前实例所分配内存的
5、最大字符数)n当修改StringBuilder时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。正则表达式n正则表达式是用来匹配文本的n正则表达式有两部分组成:n字面值:我们要进行匹配的字符n元字符:用作正则表达式分析器命令的特殊符号n在命名空间System.Text.RegularExpressions上正则表达式的基本语法nd0-9的数字Dd的补集(以所以字符为全集,下同),即所有非数字的字符w单词字符,指大小写字母、0-9的数字、下划线Ww的补集s空白字符,包括换行符n、回车符r、制表符t、垂直制表符v、换页符fSs的补集.除换行符n外的任意字符
6、匹配内所列出的所有字符匹配非内所列出的字符正则表达式n定位匹配n表示其后的字符必须位于字符串的开始处$表示其前面的字符必须位于字符串的结处重复匹配nn匹配前面的字符n次n,匹配前面的字符n次或多于n次+匹配前面的字符1次或多于1次举例n电话号码:13d9$“nE-mail:“bA-Z0-9._%-+A-Z0-9._%-+.A-Z2,4b”n数字和字母:A-Za-z+$Email分析nb指匹配一个单词边界A-Z0-9._%-指可以匹配A-Z0-9._%-这些字符+指可以匹配1-n个A-Z0-9._%-的字符邮件的特殊字符A-Z0-9._%-和上面相似.指匹配.,因为.是正则表达式中的特殊字符,所
7、以要用来转义A-Z2,4指配置a-z的字符2到4个.A-Z2,4b整个的来看就是最后的单词必须为2-4个字符,并前面带有意点号。接口n接口是C#实现面向对象的一个重要特性n接口就是告诉客户,我保证具体实现这个接口的属性,方法,索引器n继承接口的类必须实现接口的所有方法,属性n接口可以多重继承n类似于抽象类,但不等同于抽象类接口和抽象类的区别n1.类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类叫做抽象类.而接口只是一个行为的规范或规定n举例:1.飞机会飞,鸟会飞,他们都继承了同一个接口“飞”;但是F22属于飞机抽象类,鸽子属于鸟抽象类。接口和抽象类的区别n2.接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法;n3.一个类一次可以实现若干个接口,但是只能扩展一个父类n4.接口可以用于支持回调,而继承并不具备这个特点.n5.接口着重于CAN-DO关系类型,而抽象类则偏重于IS-A式的关系;形象的例子n铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态);而且只能是门,你不能说它是窗(单继承);一个门可以有锁(接口)也可以有门铃(多实现)。门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不能要求锁也能发出声音吧(接口污染)。
限制150内