基本数据类型精选PPT.ppt
基本数据类型第1页,此课件共23页哦回顾C#提供以下运算符运算符:q一元运算符一元运算符q二元运算符二元运算符q三元运算符三元运算符C#提供以下类型的选择结构:qifqifelseqswitchcaseC#提供以下类型的循环结构:qwhile 循环qdo 循环qfor 循环qforeach 循环2第2页,此课件共23页哦目标q常量与只读字段q字符与转义 q字符串操作与比较 q常量字符串与变量字符串 q基本数据类型的分类q判断类型的工具q基本数据类型的转换q枚举与穷举 q正则表达式q中文转换3第3页,此课件共23页哦常量与只读字段 q常量constq本身就是staticq必须定义的时候赋值q只能在定义的时候赋值q只能赋常数q只读字段 readonlyv本身不是staticv定义的时候可以不赋值v可以在构造函数中赋值v可以赋变量4第4页,此课件共23页哦引用类型与只读字段与只读字段用于引用类型的只读修饰符能够阻止用户替换该字段中存储的实例,但却无法阻止用户调用该字段的实例成员来修改其中的数据。public class 引用类型只读字段public readonly int Numbers=new int3;public 引用类型只读字段()for(int i=0;iNumbers.Length;i+)Numbersi=i*i;static void change()for(int i=0;iNumbers.Length;i+)Numbersi=518;5第5页,此课件共23页哦字符char q公共字段公共字段q MaxValue表示 Char 的最大可能值。此字段为常数。q MinValue表示 Char 的最小可能值。此字段为常数。q静态方法q IsControl 指示指定的 Unicode 字符是否属于控制字符类别。q IsDigit 指示某个 Unicode 字符是否属于十进制数字类别。q IsLetter 指示某个 Unicode 字符是否属于字母类别。q IsLetterOrDigit指示某个字符是属于字母类别还是属于十进制数字类别。q IsLower 指示某个 Unicode 字符是否属于小写字母类别。q IsNumber 指示某个 Unicode 字符是否属于数字类别。q IsPunctuation 指示某个 Unicode 字符是否属于标点符号类别。q IsSeparator指示某个 Unicode 字符是否属于分隔符类别。q IsSurrogate指示某个 Unicode 字符是否属于代理项字符类别。q IsSymbol指示某个 Unicode 字符是否属于符号字符类别。q IsUpper 指示某个 Unicode 字符是否属于大写字母类别。q IsWhiteSpace指示某个 Unicode 字符是否属于空白类别。6第6页,此课件共23页哦字符转义qt与 Tab 符 u0009 匹配。qr与回车符 u000D 匹配。qn与换行符 u000A 匹配。qe与 Esc 符 u001B 匹配。q消除紧接其后的字符转义q消除其后的字符串中的所有转义qMu0061in=Main:因为程序编译时会把所有字符(非关键字)翻译成unicode。7第7页,此课件共23页哦字符串操作 StringString提供了很多用于操纵字符串的方法,完成诸如复制、连接、替换、拆分、填充和大小写转换等操作。qJoin 方法:在指定 String数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。qSplit 方法:标识此实例中的子字符串(它们由数组中指定的一个或多个字符进行分隔),然后将这些子字符串放入一个 String数组中。qIndexOf 方法:返回String 在此实例中的第一个匹配项的索引或一个或多个字符的索引。qLastIndexOf 方法:返回指定的 Unicode 字符或 String在此实例中的最后一个匹配项的索引位置。qReplace 方法:将此实例中的指定 Unicode 字符或 String 的所有匹配项替换为其他指定的 Unicode 字符或 String。qSubstring 方法:从此实例检索子字符串。子字符串从指定的字符位置开始。8第8页,此课件共23页哦字符串操作 qClone 方法:返回对此 String 实例的引用,返回类型为object,所以接收时需要转化为string类型。qCopy 方法:创建一个与指定的 String 具有相同值的 String 的新实例。qCopyTo 方法:将指定数目的字符从此实例中的指定位置复制到 Unicode 字符数组中的指定位置。qStartsWith 方法:确定此实例的开始处是否与指定的 String 匹配。qEndsWith 方法:确定此实例的末尾是否与指定的 String 匹配。qInsert 方法:在此实例中的指定索引位置插入一个指定的 String 实例。qRemove 方法:从此实例中的指定位置开始删除指定数目的字符。qToLower 方法:返回此 String 的小写形式的副本。qToUpper 方法:返回此 String 的大写形式的副本。9第9页,此课件共23页哦字符串比较地址类型、内容类型、内容string地址地址ReferenceEquals内容内容Equals类型、内容、地址类型、内容=object值类型方式/类型10第10页,此课件共23页哦常量字符串与变量字符串 q常量字符串stringq常量池q变量字符串StringBuilder q比较string和StringBuilder在频繁进行字符串连接操作时的速度 q比较string和StringBuilder类初始化的速度 11第11页,此课件共23页哦C#数据类型q数值类型数值类型赋值:12345,-3,1.5e-10 q字符类型字符类型UniCode字符集中的字符 赋值:a,x,*,_,0,2,,字符转义q布尔类型布尔类型只能取真和假两个值 赋值:true(真),false(假)q字符串字符串string WwwRootDIR=“c:windowswwwroot”string WwwRootDIR=”c:windowswwwroot”12第12页,此课件共23页哦数值类型的分类 double temperature=40.6;0.0D64 位浮点数,精确到小数点后 16 位 doubledecimal temperature=40.6M0.0M128 位数据类型,精确到小数点后 28 位 decimal long population=23451900;0L有(无)符号的 64 位整数 long (ulong)float temperature=40.6F;0.0F32 位浮点数,精确到小数点后 7 位 floatint rating=20;0有(无)符号的 32 位整数 int (uint)short salary=3400;0有(无)符号的 16 位整数 short (ushort)byte gpa=2;0有(无)符号的 8 位整数 sbyte (byte)示例默认值 大小C#数据类型13第13页,此课件共23页哦判断类型的工具qType 类表示类型声明:类类型、接口类型、数组类型、值类型和枚举类型。qTypeof运算符返回某个类型的Type对象。qObject.GetType 方法返回表示实例类型的 Type 对象。qName属性获取此成员的名称。qNamespace属性获取此类型的命名空间。qBaseType属性获取当前类型直接从中继承的类型。14第14页,此课件共23页哦基本数据类型的转换 q数字类型之间的显式转换与隐式转换 q数值字符串和数值间转换q字符串和字符数组间转换q值类型和字节数组间转换 15第15页,此课件共23页哦数字类型之间的显式转换与隐式转换q隐式:byte ushort uint ulongq隐式:sbyte short int longq隐式:float doubleq显式:ulong uint ushort byteq显式:long int short sbyteq显式:double float q显式:double decimalq显式:float decimal16第16页,此课件共23页哦数值字符串和数值间转换q数值字符串int i=123;string s=Convert.ToString(i);string s=i.ToString();string s2=123.ToString()q字符串数值string s=518;/int i1=(int)s;int i2=int.Parse(s);int i3=Convert.ToInt32(s);17第17页,此课件共23页哦字符串和字符数组间转换q字符串字符数组string s=newer;char cs=s.ToCharArray();Console.WriteLine(cs.Length);foreach(char c in cs)Console.WriteLine(c);q字符数组字符串string s2=new string(cs);Console.WriteLine(s2);18第18页,此课件共23页哦枚举q枚举(Enum,Enumerator 的缩写)是一组已命名的数值常量,即键/值对。q用一些有实际意义的名字代替简单的数字。q默认情况下,第一个元素等于0,然后对每个后续的枚举元素按1递增。q在初始化过程中可重写默认值为任意数字。q将一个枚举中没有的值转换成枚举,则返回原来的值。q可以声明为除 charchar 类型外的任何整型。19第19页,此课件共23页哦枚举q如何获取某个枚举对应的数字?q如何获取某个枚举对应的字符串?q如何比较两个枚举是否相等?q如何计算两个枚举的差值?q如何获取某个枚举的下一个?q如何获取枚举中的所有值?20第20页,此课件共23页哦正则表达式 q正则表达式类正则表达式类q不可变正则表达式类不可变正则表达式类Regexq正则表达式匹配操作的结果正则表达式匹配操作的结果Matchq单个捕获组的结果单个捕获组的结果Groupq单个子表达式捕获的结果单个子表达式捕获的结果Captureq正则表达式的字符正则表达式的字符v字符转义字符转义v字符类字符类v正则表达式选项正则表达式选项v原子零宽度断言原子零宽度断言v限定符限定符v分组构造分组构造21第21页,此课件共23页哦中文转换q字符串转换成字节数组qEncoding.ASCII不管中文还是英文,都是1位qEncoding.Default 英文是1位,中文是2位qEncoding.Unicode 不管中文还是英文,都是2位q字节数组转换成汉字区位码q对照中华人民共和国汉字区位码表22第22页,此课件共23页哦总结q常量与只读字段q字符与转义 q字符串操作与比较 q常量字符串与变量字符串 q正则表达式 q基本数据类型的分类q判断类型的工具q基本数据类型的转换q枚举与穷举23第23页,此课件共23页哦