C基本语法课件_第1页
C基本语法课件_第2页
C基本语法课件_第3页
C基本语法课件_第4页
C基本语法课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#基本语法C#基本语法C#代码的外观和操作方式和C++、Java十分的相似,在C#编程的过程中,不需要花费太多的精力就可以编写出十分清晰的代码。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceHello_New_World{classProgram{staticvoidMain(string[]args){Console.WriteLine("HelloNewWorld——我的第一个C#应用程序");Console.ReadKey();}}}C#的基本语法概况C#代码的外观和操作方式和C++、Java十分C#的每条语句都用一个分号来结束;为了程序的可读性和易维护性,建议一行一语句,C#编译器自动过滤回车符之类的空白字符;C#是一个块结构的编程语言,代码块使用“{”和“}”来界定,代码块中可以包含任意条语句,也可以根本不包含语句。在VS2005中编写代码时,系统会根据代码块的层次进行自动缩进;C#代码严格区分大小写,这与其他许多编程语言是不同的,否则将会引起编译出错。例如将上述控制台程序中的输出语句“Console.writeLine("HelloNewWorld——我的第一个C#应用程序")”更改为“ConSole.WriteLine("HelloNewWorld——我的第一个C#应用程序")”,程序将不能正常编译和执行。C#的基本语法概况C#的每条语句都用一个分号来结束;为了程序的可读性和易维护性

在C#中,可以使用两种方式来注释代码:单行注释和多行注释。单行注释使用“//”来标记注释,其后可以编写任何内容,但一次只能注释一行语句,使用多行注释时,C#以“/*”标记注释的起始位置,以“*/”标记注释结束。usingSystem.Text;//引用System.Text命名空间/*这是一个简单的C#控制台应用程序程序开始*/namespaceHello_New_World{……C#的基本语法概况usingSystem.Text;//引用System

VS2005具有代码的突出显示功能,及代码的折叠和隐藏功能。在编写C#代码时,可以使用“#region”和“#endregion”关键字,来定义需要扩展和收缩的代码,#region引用的命名空间usingSystem;usingSystem.Collections.Generic;usingSystem.Text;#endregionC#的基本语法概况#region引用的命名空间C#的基本语法概况变量变量是计算机内存中的一块存储单元,可以将数据存放到变量中,需要的时候再从中取出进行查看或修改。变量的基本类型变量和表达式类型别名存储的值sbyteSystem.SByte-128~127之间的整数byteSystem.Byte0~255之间的整数shortSystem.Int16-32768~32767之间的整数ushortSystem.UInt160~65535之间的整数intSystem.Int32-2147483648~2147483647之间的整数uintSystem.UInt320~4294967259之间的整数longSystem.Int64-9223372036854775808~9223372036854775807之间的整数ulongSystem.Unt640~18446744073709551615之间的整数整型变量变量变量和表达式类型别名存储的值sbyteSystem.SB浮点型变量类型别名m的最小值m的最大值e的最小值e的最大值最小近似值最大近似值floatSystem.Single0224-1491041.5×10-453.4×1038doubleSystem.Double0253-10759705.0×10-3241.7×10308decimalSystem.Decimal0296-2601.0×10-287.9×1028其他3种常用变量类型类型别名存储的值charSystem.Char一个Unicode字符,存储0~65535之间的整数boolSystem.Boolean布尔值:true或falsestringSystem.String存储一组字符变量和表达式浮点型变量类型别名m的最m的最e的最e的最最小近最大近似值f变量的命名规则和命名方法变量是计算机中占据一定内存单元的存储区域,通过指定变量的名称来使用和管理变量。从数据存储的角度来看,变量名相当于存储数据的变量所占据的那块内存单元的标识名。变量名的第一个字符必须是字母、下划线(_)或@;其后的字符可以是字母、下划线、数字等;不能使用C#中的关键字作为变量名,如using、namespace等,因为这些关键字对于C#编译器而言有特定的含义;C#是区分大小写的,因而在命名变量时,一定要使用正确的大小写,因为在程序中使用它们时,即使只有一个字母的大小写出错,也会引起编译错误。对于简单的变量,建议使用camelCase命名方法,而对于比较高级的变量,则使用PascalCase命名方法。productIdproductNameproductDiscontentProductIdProductNameProductDiscontentcamelCasePascalCase变量和表达式变量的命名规则和命名方法productIdProductId识别下列标识符Personyearly-costyearly_costint@intmyclassChecking#thisFloat5day变量名最好使用具有实际意义的英文单词,能够“见名知意”识别下列标识符Person第二讲C基本语法课件变量 staticvoidMain(string[]args) { //声明布尔型、字符串型、整型、短整型和浮点型变量 booltest=true; shortnum1=19; intnum2=14000; stringval="John"; floatnum3=14.5f;

//显示变量值

Console.WriteLine("布尔值="+test); Console.WriteLine("短整型值="+num1); Console.WriteLine("整型值

="+num2); Console.WriteLine("字符串值="+val); Console.WriteLine("浮点值="+num3); }变量中存储的值取决于该变量的类型变量 staticvoidMain(string[]a变量的作用域ClassScope{ publicstaticvoidMain() { intx; x=10; if(x==10) { inty=20; Console.WriteLine(“xandy:{0},{1}”,x,y); } y=100; Console.WriteLine(“xis“+x); }}程序中的一个块就定义就定义了一个作用域,域内的变量对外部不可见。变量在进入其作用域时创建,在离开作用域时被释放。变量的作用域ClassScope程序中的一个块就定义就定义常量常量又称为字面值,是一种在使用过程中值不发生改变的特殊变量。常量的声明方法和变量类似,只要在类型关键字前面加上const关键字并指定常量值即可。和变量一样,常量也包括多种类型:数值常量、字符常量等。注意:常量在程序中只能被赋值一次,否则编译器便会报告错误。常量具有以下显著特征:常量必须在声明时进行初始化,其指定值后便不能再进行修改;常量的值必须能够在编译时用于计算,因而,从一个变量中提取某个时刻的值并将其赋值给常量,这种做法是不允许的;常量是静态的,但不必在声明时使用static修饰符。

在程序中使用常量有以下几个好处:常量使用易于理解的名称,来代替含义不明确的数字或字符串,使程序更易于阅读;常量使程序更易于修改。constintpi=3.1415926;变量和表达式常量constintpi=3.1415926;变量和表达常量staticvoidMain(string[]args){ //PI常量PI constfloat_pi=3.14F; //由地球引力引起的加速度常量,单位为cm/s*s constfloat_gravity=980; //钟摆的长度 intlength=40; //钟摆的周期 doubleperiod=0; //钟摆周期的计算公式 period=2*_pi*Math.Sqrt(length/_gravity); Console.WriteLine("钟摆的周期为{0}秒",period);}声明常量在表达式中使用常量const关键字用于声明常量常量staticvoidMain(string[]ar字符串常量存储的是一组字符,例如一个用于连接数据库的字符常量:上述常量中便发生了转义字符的问题,应用程序在使用该字符串常量来连接数据库时,便会出现连接错误,原因是系统将字符串常量中的字符“\”看作是转义字符来处理了。如果要解决前面连接数据库的字符串常量中的反斜杠字符识别问题,可使用两个反斜杠,即更改成如下所示:“server=wjl\tupwk_wjl;IntegratedSecurity=SSPI;database=电子商务系统”“server=wjl\\tupwk_wjl;IntegratedSecurity=SSPI;database=电子商务系统”变量和表达式字符串常量存储的是一组字符,例如一个用于连接数据库的字符常量第二讲C基本语法课件C#两种数值类型类别说明值类型简单类型有符号整型:sbyte,short,int,long无符号整型:byte,ushort,uint,ulongUnicode字符:charIEEE浮点型:float,double高精度小数:decimal布尔型:bool枚举类型enumE{...}形式的用户定义的类型结构类型structS{...}形式的用户定义的类型引用类型类类型所有其他类型的最终基类:objectclassC{...}形式的用户定义的类型接口类型interfaceI{...}形式的用户定义的类型Unicode字符串string数组类型一维和多维数组,例如int[]和int[,]委托类型delegateTD(...)形式的用户定义的类型值类型变量包含本身数据,而引用类型变量存放的是指向真正数据块的引用(指针)C#两种数值类型类别说明值简单类型有符号整型:sby第二讲C基本语法课件C#的基本数据类型staticvoidMain(string[]args){

DataTypeDemoobjTest=newDataTypeDemo(); objTest.Val=100; //传递属于引用类型的对象 Test(objTest); //由于该数据类型属于引用类型,所以会考虑新处理的值 Console.WriteLine("变量的值为{0}",objTest.Val);}staticvoidTest(DataTypeDemo

dataTest){ inttemp=10; dataTest.Val=temp*20;}将DataTypeTest的引用传递给Test()

被传递的val在Test()中改变反映已经改变的val值,不而保留原始值classDataTypeDemo{publicintVal;}C#的基本数据类型staticvoidMain(str第二讲C基本语法课件装箱和拆箱intval=100;objectobj=val;Console.WriteLine(“对象的值={0}",obj);intval=100;objectobj=val;intnum=(int)obj;Console.WriteLine("num:{0}",num);值类型引用类型拆箱装箱值类型引用类型值类型被装过箱的对象才能被拆箱装箱和拆箱intval=100;intval=1装箱/拆箱实现值类型/引用类型之间转换的机制inti=110;objectobj=i;//objectobj=(object)i;intj=(int)obj;注意:拆箱转换的数据类型必须与装箱的类型一致(兼容),否则出错!obji110Stack区Heap区110……装箱/拆箱实现值类型/引用类型之间转换的机制obji110S对象类型System.Object所有其他对象的基类,所有的数据类型都直接或间接的从object类型继承Object类型的变量可接受任何类型的数值是实现装箱/拆箱的本源所在对象类型System.Object所有其他对象的基类,所有的usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceHelloWorld{classObjectApp{intnumber=918;staticvoidMain(string[]args){objectobj=124;Console.WriteLine(obj);Console.WriteLine(obj.GetType());obj=newObjectApp();ObjectAppvalue;value=(ObjectApp)obj;Console.WriteLine(value.number);Console.WriteLine(obj.GetType());Console.Read();}}}可用object引用指向任何类型的对象,用相同的代码对不同类型的数据执行不同的操作,这就是单一继承体系的好处,GetType()可动态获得对象的真正类型usingSystem;可用object引用指向任何类型的Object.ToString()获得对象的字面量获得一个对象的用户友好的字符串表示类型类别后缀示例/允许的值bool布尔无true或falseint整数无intx=100uint,ulog整数U或Uuintx=1000ulong,ulong长整型L或llongx=100000Lulong无符号长整型ul,uL,Ul,UL,lu,Lu,lU或LUulongx=4324ulfloat单精度浮点数类型F或ffloatx=34.76Fdouble双精度浮点数类型D或ddoublex=763.7245Ddecimal精确十进制类型M或mdecimalx=1.544Mchar字符无charx=‘a’string字符串无string=”abc”Object.ToString()获得对象的字面量获得一个对通过改写ToString来进行自定义输出classTeacher{publicstringname;publicstringcourseName;publicoverridestringToString(){returnstring.Format("I'mateacher,mynameis{0}andIteach{1}",,this.courseName);}}classStudent{publicstringname;publicintage;publicStudent(stringname,intage){=name;this.age=age;}publicoverridestringToString(){returnstring.Format("Iamastudent,mynameis{0}andIam{1}yearsold",name,age);}}通过改写ToString来进行自定义输出classTeacstaticvoidMain(string[]args){Teachert=newTeacher();="BillGates";t.courseName="Objectsorientationprogramming";Students=newStudent("TomHanks",18);Console.WriteLine(t);Console.WriteLine(s); //等价于调用Console.WriteLine(s.ToString());Console.Read();}通过改写ToString方法,可以提供一致的形式来显示对象的信息,这里体现了面向对象编程的什么特性呢?多态性!staticvoidMain(string[]arg隐式转换和强制转换隐式(赋值和混合表达式中)自动算术表达式转换,低类型的操作数被提升到高类型,结果也为高类型doubles;inti;s+i显式强制将高级数据类型转换成低级数据类型inti=(int)(1.2*y+0.5);一般会导致丢失一些数据精度隐式转换和强制转换隐式(赋值和混合表达式中)C#所支持的隐式类型转换源类型目的类型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double、decimalshortint、long、float、double、decimalushortint、uint、long、ulong、float、double、decimalintlong、float、double、decimaluintlong、ulong、float、double、decimallong、ulongfloat、double、decimalfloatdoublecharushort、int、uint、long、ulong、float、double、decimalC#所支持的隐式类型转换源类型目的类型sbyteshort、显式转换

明确要求显示器把一种变量类型转换为另外一种变量类型时,便是显式转换,这相当于告诉编译器“我已经知道你对我这么做提出了警告,但我将对这么做的后果负责”。

但这种转换很可能在程序运行期间因类型转换而造成数据丢失,造成极大破坏,这又被称为数据的溢出。

推荐使用Convert命令来进行显式转换,这种转换能够成功执行的前提是:所要转换的字符串必须是数值的有效表达方式,而且不会溢出。(目标类型)源变量;显式转换(目标类型)源变量;可使用Convert命令转换的数据类型命令结果Convert.ToBoolean(源变量)布尔型Convert.ToByte(源变量)byte型Convert.ToChar(源变量)字符型Convert.ToDecimal(源变量)Decimal型Convert.ToDouble(源变量)Double型Convert.ToInt16(源变量)short型Convert.ToInt32(源变量)int型Convert.ToInt64(源变量)long型Convert.ToSByte(源变量)sbyte型Convert.ToSingle(源变量)float型Convert.ToString(源变量)字符串型Convert.ToUInt16(源变量)ushort型Convert.ToUInt32(源变量)uint型Convert.ToUInt64(源变量)ulong型可使用Convert命令转换的数据类型命令结果Convertas实现转型语法:Tt2=t1asT含义:如果对象t1为类型T(或其子类)的实例,则将t1赋值给t2,否则t2为null与显式强制类型转换相比,它避免了由于类型不匹配造成的异常抛出as实现转型语法:Tt2=t1asTusingSystem;classClass1{}classClass2{}classMainClass{staticvoidMain(){object[]objArray=newobject[6];objArray[0]=newClass1();objArray[1]=newClass2();objArray[2]="hello";objArray[3]=123;objArray[4]=123.4;objArray[5]=null;for(inti=0;i<objArray.Length;++i){strings=objArray[i]asstring;Console.Write("{0}:",i);if(s!=null) Console.WriteLine("'"+s+"'");else{Console.WriteLine("notastring");}}}}0:notastring1:notastring2:'hello'3:notastring4:notastring5:notastringusingSystem;classMainClass0:运算符与表达式变量和常量解决了数据的存储问题,而表达式则用于数据的处理,它是计算的的基本建立块。在C#中,将变量、常量和运算符组合在一起,便形成了表达式。运算符用于解决数据的处理方式,根据能够处理的操作数的多少,可以分为:一元运算符——处理一个操作数;二元运算符——处理两个操作数;三元运算符——处理三个操作数。运算符与表达式变量和常量解决了数据的存储问题,而表达式则用于数学表达式运算符类别示例表达式运算结果+二元变量1=变量2+变量3变量2和变量3的和-二元变量1=变量2-变量3变量2的值减去变量3的值所得的值×二元变量1=变量2×变量3变量2和变量3的乘积/二元变量1=变量2/变量3变量2的值除以变量3的值所得的值%二元变量1=变量2%变量3变量2的值除以变量3的值所得的余数+一元变量1=+变量2变量1的值等于变量2的值-一元变量1=-变量2变量1的值等于变量2的值乘以-1数学运算符变量和表达式数学表达式运算符类别示例表达式运算结果+二元变量1=变量2+关系表达式运算符类别示例表达式运算结果==二元变量1=变量2==变量3如果变量2的值等于变量3的值,则变量1的值为true,反之为false!=二元变量1=变量2!=变量3如果变量2的值不等于变量3的值,则变量1的值为true,反之为false<二元变量1=变量2<变量3如果变量2的值小于变量3的值,则变量1的值为true,反之为false>二元变量1=变量2>变量3如果变量2的值大于变量3的值,则变量1的值为true,反之为false<=二元变量1=变量2<=变量3如果变量2的值小于或等于变量3的值,则变量1的值为true,反之为false>=一元变量1=变量2>=变量3如果变量2的值大于或等于变量3的值,则变量1的值为true,反之为false比较运算符变量和表达式关系表达式运算符类别示例表达式运算结果==二元变量1=变量2逻辑运算符运算符类别示例表达式运算结果!一元变量1=!变量2逻辑非,如果变量2的值为true(false),则变量1的值为true(false)&&二元变量1=变量2&&变量3逻辑与,如果变量2的值和变量3的值都为true,则变量1的值为true,反之为false||二元变量1=变量||变量3逻辑或,只要变量2的值或变量3的值有一个为true,则变量1的值为true,反之为false变量和表达式注意,&&和||具有短路计算规则,即可能会不完全运算而得到结果(p69)逻辑运算符运算符类别示例表达式运算结果!一元变量1=!变量2赋值表达式赋值运算符运算符类别示例表达式运算结果=二元变量1=变量2将变量2的值赋予变量1+=二元变量1+=变量2将变量1和变量2值的和赋予变量1-=二元变量1-=变量2将变量1的值减去变量2的值的结果赋予变量1*=二元变量1*=变量2将变量1的值乘以变量2的值的结果赋予变量1/=二元变量1/=变量2将变量1的值除以变量2的值的结果赋予变量1%=二元变量1%=变量2将变量1的值除以变量2的值的余数赋予变量1变量和表达式注意,引用类型的赋值是地址的拷贝,而不是值本身赋值表达式赋值运算符运算符类别示例表达式运算结果=二元变量1布尔赋值运算符运算符类别示例表达式运算结果&=二元变量1&=变量2变量1的值为变量2&变量3|=二元变量1|=变量2变量1的值为变量2|变量3^=一元变量1^=变量2变量1的值为变量2^变量3变量和表达式布尔赋值运算符运算符类别示例表达式运算结果&=二元变量1&=第二讲C基本语法课件算术运算符staticvoidMain(string[]args){ //x2的系数 intcf1=2; //x的系数 intcf2=-7; //二次方程的常数值 intconstant=3; //存放表达式b2-4ac的值 doubleexpression=0; doublex1=0; doublex2=0;

Console.WriteLine("二次方程为:{0}x2+{1}x+{2}",cf1,cf2,constant); expression=Math.Sqrt(cf2*cf2-(4*cf1*constant)); x1=((-cf2)+expression)/(2*cf1); x2=((-cf2)-expression)/(2*cf1); Console.Write("x={0:F2}",x1); Console.Write("或"); Console.WriteLine("x={0:F2}",x2);}将值赋给变量在表达式中使用的算术运算符算术运算符staticvoidMain(string[]位运算&与|或^异或~取补<<左移>>右移位操作符就是对数据按二进制位进行运算的操作符。位运算&与位操作符就是对数据按二进制位进行运算的操作符。求补运算求补(~)运算对操作数的每一位取补,如对10取补结果为: 10的二进制表示:00001010 求补运算的结果:11110101//按位求补usingSystem; classBitWiseCompl{publicstaticvoidMain(){shorta=10;ushortb=10;intc=10;uintd=10;Console.WriteLine(~10);Console.WriteLine("short:{0}",~a);Console.WriteLine("ushort:{0}",~b);Console.WriteLine("int:{0}",~c);Console.WriteLine("uint:{0}",~d);}}求补运算求补(~)运算对操作数的每一位取补,如对10取补结果阅读代码61页例4.6阅读代码61页例4.6运算符的优先级优先级运算符优先级由高到低++,--(用作前缀);(),-(一元),!,~*,/,%+,-<,>,<=,>===,!=&^|&&||=,*=,/=,%=,+=,-=,<<=,>>=,&=,^=,|=++,--(用作后缀)变量和表达式运算符的优先级优先级运算符优++,--(用作前缀);()类别运算符说明位运算符&将操作数转换位二进制数,并按位进行与运算|将操作数转换位二进制数,并按位进行或运算移位运算符<<将操作数转换为二进制数,然后左移>>将操作数转换为二进制数,然后右移赋值运算符<<=将操作数转换为二进制数,然后左移赋值>>=将操作数转换为二进制数,然后右移赋值成员访问.成员访问索引[]索引转换()强制转换条件?:三元if语句创建对象new创建对象的一个实例类型信息as安全转换为指定类型is检查所给类型是否为指定类型溢出checked控制溢出检查上下文unchecked控制溢出检查上下文间接寻址和地址*指针取消引用->指针成员访问[]指针索引&取地址变量和表达式其他C#运算符类别运算符说明位运算符&将操作数转换位二进制数,new操作符

new操作符用于创建一个新的类型实例。它有三种形式:对象创建表达式,用于创建一个类类型或值类型的实例。数组创建表达式,用于创建一个数组类型实例。代表创建表达式,用于创建一个新的代表类型实例。

例:

classA{};Aa=newA; int[]int_arr=newint[10]; delegatedoubleDFunc(intx);DFuncf=newDFunc(5);new操作符new操作符用于创建一个新的类型实例。它有三is操作符

//is操作符usingSystem;classOptIsExample{publicstaticvoidMain(){Console.WriteLine(1isint);Console.WriteLine(1isfloat);Console.WriteLine(1.0isfloat);Console.WriteLine(1.0isdouble);}}is操作符被用于动态地检查运行时对象类型是否和给定的类型兼容。运算“eisT”的结果,其中,e是一个表达式,T是一个类型,返回值是一个布尔值。is操作符//is操作符is操作符被用于动态地检查运行命名空间销售部技术部张三张三命名空间销售部技术部张三张三命名空间ClassManager{longintsalary;………………}…….…….{longintsalary;…….………}ClassManager命名空间SaleDept命名空间ITDeptAdminDept.ManagerITDept.Manager类库命名空间ClassManagerClassManager命名空间ClassSamsungTelevision{}ClassSonyWalkman{}ClassSonyTelevision{}ClassSamsungWalkman{}长名称难以维护namespace

Tcl{

class

Television{...}

class

WalkMan

{...}}CH.TelevisionTcl.Televisionnamespace

CH{

class

Television

{...}

class

WalkMan

{...}}有条理,有结构命名空间ClassSamsungTelevisionCla命名空间namespace命名空间的名称{

//该名称空间的所有类都放在这里。}语法命名空间namespace命名空间的名称语法命名空间namespaceTcl{ classMonitor { publicvoidListModels() { Console.WriteLine(“供应Tcl以下型号的显示器:"); Console.WriteLine("14\",15\"\n"); }

staticvoidMain(string[]args) { // //TODO:在此处添加代码以启动应用程序 // } }}命名空间namespaceTcl命名空间namespaceCH{publicclassMonitor

{

publicvoidListModelStocks() {

Console.WriteLine(“以下是长虹显示器的规格及其库存量:");

Console.WriteLine("14\"=1000,15\"=2000, 17\"=3000"); }

staticvoidMain(string[]args) {

Tcl.MonitorobjTcl=newTcl.Monitor();

MonitorobjCh=newMonitor();

objTcl.ListModels();

objCh.ListModelStocks(); }

}}命名空间namespaceCH为什么使用命名空间(1)

C#采用的是单一的全局变量命名空间,若有两个变量或函数的名称完全相同,就会出现冲突.如定义了一个用户名变量userName,可能在调用某个库文件或别的程序代码中也定义了相同的变量名,此时便出现了冲突。

命名空间就是为解决C#中变量、函数的命名冲突而服务的。可以将同一名称的变量定义在不同的命名空间中。如:张家有电视机,李家也有电视机,王家也有电视机,但因为它们属于不同的家庭,使用时只需将它们所属的家庭作为前缀名即可。命名空间和using语句为什么使用命名空间(1)命名空间和using语句为什么使用using语句(2)创建了命名空间后,如果命名空间中嵌套比较深,在外部引用它们时是十分不方便的,可以使用using语句来简化对它们的访问,using语句的意思就好比是“我们需要对这个命名空间中的变量,所以不要每次总是要求对它们分类”。什么情况下使用命名空间的别名

使用using语句可以简化对命名空间的引用,然而某些命名空间中很可能包含相同名称的类,在某些情况下却恰恰需要用到这些同名的类。例如在.NETFramework类库中存在3个Timer类:System.Timer.Timer、System.Threading.Timer和System.Windows.Forms.Timer,我们需要使用System.Timer.Timer在后台以固定的时间间隔检查所有应用程序或系统的状态,而使用System.Windows.Forms.Timer来在用户界面中显示一个简单的动画,这时,开发人员就必须在类前面加上命名空间。命名空间和using语句为什么使用using语句(2)命名空间和using语句此时程序显得比较冗长,可以使用using语句来给命名空间指定一个别名。当程序中需要引用这个命名空间时,可以简单地使用它的别名,使用别名的方法和使用命名空间完全相同。using语句本身不能访问另一个命名空间中的名称,除非命名空间中的代码以某种方式链接到项目上,或者代码是在该项目的源文件中定义的,或在链接到该项目的其他代码中定义的,否则就不能访问其中包含的名称。另外,如果包含命名空间的代码链接到项目上,无论是否使用using关键字,都可以访问其中包含的变量或类。using别名=命名空间名;命名空间和using语句此时程序显得比较冗长,可以使用using语句来给命名空间指定命名空间别名

usingClass1=Namespace1.Test; //别名到类usingNs2=Namespace2.NameSpace3.NameSpace4;//别名到命名空间namespaceNamespace1{classTest{publicTest(){System.Console.WriteLine("HellofromNamespace1.Test");}}}classMainClass{publicstaticvoidMain() { Class1obj1=newClass1(); Ns2.Testobj2=newNs2.Test(); System.Console.Read(); }}namespaceNamespace2{…namespaceNamespace3{ …namespaceNamespace4{ …classTest{publicTest(){System.Console.WriteLine("HellofromNamespace2.Test");}}}}}命名空间别名usingClass1=NamespacString类型由一个或多个字符组成,一般以“”为界System.String类中定义了很多对字符串的操作:比较、连接、查找子串。。。staticvoidMain(string[]args){ stringa="\u0068ello"; stringb="world"; stringc=a+b; Console.WriteLine(c); Console.WriteLine(c.Length); a="你好"; Console.WriteLine(c); c=string.Copy(a); Console.WriteLine(c); Console.Read(); }String类型由一个或多个字符组成,一般以“”为界statString类的用法string.Format实现字符串的格式化输入两个整数,输出他们的实数除商,并输出上的第二位小数staticvoidMain(){inti=Convert.ToInt32(Console.ReadLine());intj=Convert.ToInt32(Console.ReadLine());doubleshang=(double)i/j;stringstr=string.Format("{0:F3}",shang);charc=str[str.Length-2];Console.WriteLine(c);Console.Read();}String类的用法string.Format实现字符串的格日期DateTime类型表示时间上的一刻,通常以日期和当天的时间表示。示例:Console.WriteLine(DateTime.Now);DateTimedate=newDateTime(2006,2,28,12,12,12);Console.WriteLine(date);Console.WriteLine(date.DayOfWeek);Console.WriteLine(date.DayOfYear);TimeSpanduration=newSystem.TimeSpan(36,0,0,0);DateTimejinian=date.Add(duration);Console.WriteLine(jinian);日期DateTime类型表示时间上的一刻,通常以日期和当天的DateTime的格式化输出P.45参数format格式详细用法

格式字符关联属性/说明

dShortDatePattern

DLongDatePattern

f完整日期和时间(长日期和短时间)

FFullDateTimePattern(长日期和长时间)

g常规(短日期和短时间)

G常规(短日期和长时间)

m、MMonthDayPattern

r、RRFC1123Pattern

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论