您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 给排水/暖通与智能化 > 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#编译器自动过滤回车符之类的空白字符;C#是一个块结构的编程语言,代码块使用“{”和“}”来界定,代码块中可以包含任意条语句,也可以根本不包含语句。在VS2005中编写代码时,系统会根据代码块的层次进行自动缩进;C#代码严格区分大小写,这与其他许多编程语言是不同的,否则将会引起编译出错。例如将上述控制台程序中的输出语句“Console.writeLine(HelloNewWorld——我的第一个C#应用程序)”更改为“ConSole.WriteLine(HelloNewWorld——我的第一个C#应用程序)”,程序将不能正常编译和执行。C#的基本语法概况在C#中,可以使用两种方式来注释代码:单行注释和多行注释。单行注释使用“//”来标记注释,其后可以编写任何内容,但一次只能注释一行语句,使用多行注释时,C#以“/*”标记注释的起始位置,以“*/”标记注释结束。usingSystem.Text;//引用System.Text命名空间/*这是一个简单的C#控制台应用程序程序开始*/namespaceHello_New_World{……C#的基本语法概况VS2005具有代码的突出显示功能,及代码的折叠和隐藏功能。在编写C#代码时,可以使用“#region”和“#endregion”关键字,来定义需要扩展和收缩的代码,#region引用的命名空间usingSystem;usingSystem.Collections.Generic;usingSystem.Text;#endregionC#的基本语法概况控制台基本输入输出操作Console.ReadLine()读取用户输入的一行数据,遇到回车结束,返回一个字符串Console.Read()读取用户输入的一行数据的第一个字符,返回该字符对应的ASCII码值,int类型Console.Write()向控制台输出字符串,不换行Console.WriteLine()向控制台输出一行字符串数据(换行)变量变量是计算机内存中的一块存储单元,可以将数据存放到变量中,需要的时候再从中取出进行查看或修改。变量的基本类型变量和表达式类型别名存储的值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之间的整数整型变量浮点型变量类型别名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存储一组字符变量和表达式变量的命名规则和命名方法变量是计算机中占据一定内存单元的存储区域,通过指定变量的名称来使用和管理变量。从数据存储的角度来看,变量名相当于存储数据的变量所占据的那块内存单元的标识名。变量名的第一个字符必须是字母、下划线(_)或@;其后的字符可以是字母、下划线、数字等;不能使用C#中的关键字作为变量名,如using、namespace等,因为这些关键字对于C#编译器而言有特定的含义;C#是区分大小写的,因而在命名变量时,一定要使用正确的大小写,因为在程序中使用它们时,即使只有一个字母的大小写出错,也会引起编译错误。对于简单的变量,建议使用camelCase命名方法,而对于比较高级的变量,则使用PascalCase命名方法。productIdproductNameproductDiscontentProductIdProductNameProductDiscontentcamelCasePascalCase变量和表达式识别下列标识符Personyearly-costyearly_costint@intmyclassChecking#thisFloat5day变量名最好使用具有实际意义的英文单词,能够“见名知意”变量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);}变量中存储的值取决于该变量的类型变量的作用域ClassScope{publicstaticvoidMain(){intx;x=10;if(x==10){inty=20;Console.WriteLine(“xandy:{0},{1}”,x,y);}y=100;Console.WriteLine(“xis“+x);}}程序中的一个块就定义就定义了一个作用域,域内的变量对外部不可见。变量在进入其作用域时创建,在离开作用域时被释放。常量常量又称为字面值,是一种在使用过程中值不发生改变的特殊变量。常量的声明方法和变量类似,只要在类型关键字前面加上const关键字并指定常量值即可。和变量一样,常量也包括多种类型:数值常量、字符常量等。注意:常量在程序中只能被赋值一次,否则编译器便会报告错误。常量具有以下显著特征:常量必须在声明时进行初始化,其指定值后便不能再进行修改;常量的值必须能够在编译时用于计算,因而,从一个变量中提取某个时刻的值并将其赋值给常量,这种做法是不允许的;常量是静态的,但不必在声明时使用static修饰符。在程序中使用常量有以下几个好处:常量使用易于理解的名称,来代替含义不明确的数字或字符串,使程序更易于阅读;常量使程序更易于修改。constintpi=3.1415926;变量和表达式常量staticvoidMain(string[]args){//PI常量PIconstfloat_pi=3.14F;//由地球引力引起的加速度常量,单位为cm/s*sconstfloat_gravity=980;//钟摆的长度intlength=40;//钟摆的周期doubleperiod=0;//钟摆周期的计算公式period=2*_pi*Math.Sqrt(length/_gravity);Console.WriteLine(钟摆的周期为{0}秒,period);}声明常量在表达式中使用常量const关键字用于声明常量字符串常量存储的是一组字符,例如一个用于连接数据库的字符常量:上述常量中便发生了转义字符的问题,应用程序在使用该字符串常量来连接数据库时,便会出现连接错误,原因是系统将字符串常量中的字符“\”看作是转义字符来处理了。如果要解决前面连接数据库的字符串常量中的反斜杠字符识别问题,可使用两个反斜杠,即更改成如下所示:“server=wfq\tupwk_wjl;IntegratedSecurity=SSPI;database=电子商务系统”“server=wfq\\tupwk_wjl;IntegratedSecurity=SSPI;database=电子商务系统”变量和表达式对象类型System.Object所有其他对象的基类,所有的数据类型都直接或间接的从object类型继承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()可动态获得对象的真正类型通过改写ToString来进行自定义输出classTeacher{publicstringname;publicstringcourseName;publicoverridestringToString(){returnstring.Format(I'mateacher,mynameis{0}andIteach{1},this.name,this.courseName);}}classStudent{publicstringname;publicintage;publicStudent(stringname,intage){this.name=name;this.age=age;}publicoverridestringToString(){returnstring.Format(Iamastudent,mynameis{0}andIam{1}yearsold,name,age);}}staticvoidMain(string[]args){Teachert=newTeacher();t.name=BillGates;t.courseName=Objectsorientationprogramming;Students=newStudent(TomHanks,18);Console.WriteLine(t);Console.WriteLine(s);//等价于调用Console.WriteLine(s.ToString());Console.Read();}通过改写ToString方法,可以提供一致的形式来显示对象的信息,这里体现了面向对象编程的什么特性呢?多态性!隐式转换和强制转换隐式(赋值和混合表达式中)自动算术表达式转换,低类型的操作数被提升到高类型
本文标题:C#基本语法
链接地址:https://www.777doc.com/doc-4690183 .html