浅谈C#语言基础

时间:2022-09-16 02:56:25

浅谈C#语言基础

摘要:C#语言是一门简单、现代、优雅、面向对象、类型安全和平立的新型组件编程语言,其语言风格源自C/C++家族,融合了Visual Basic的高效和C/C++的强大,深受世界各地程序员的好评和喜爱。C#源于C语言家族,因此,C、C++和java的程序员能很快熟悉它,C#获得了ECMA和ISO/IEC的国际标准认证,它们分别是ECMA-334标准和ISO/IEC 23270标准,Microsoft用于.NET框架的C#编译器就是根据这两个标准实现的。

关键词:C#语言;基础语法;C#类型

中图分类号:TP393.08 文献标识码:A文章编号:1007-9599 (2011) 07-0000-02

Discussion on the C # Language Basis

Wei Dong

(Anyang Normal University,School of Computer and Information Engineering,Anyang455000,China)

Abstract:C# language is a simple,modern,elegant,object oriented,type-safe and platform independent new component programming language,the language style from the C/C++ family,the integration of Visual Basic's effective and C/C++ for Powerful,programmers around the world by the praise and love.C# from the C language family,therefore,C,C++ and java programmers can quickly become familiar with it,C# access to the ECMA and ISO/IEC international standard certification,namely the ECMA-334 standard,and ISO/IEC 23270 standard,Microsoft is Framework C# compiler is implemented based on these two criteria.

Keywords:C# language;Basic grammar;C# type

一、C#语言的一些基础语法

C#语言不能孤立的使用,必须和NET Framework一起考虑,C#编译器专门用于NET,这表示用C#语言编写的所有代码总是在.NET Framework中运行,对于C#语言来说,可以得出两个重要的结论:(一)C#的结构和方法论反应了.NET基础方法论。(二)在许多情况下,C#的特定语言功能取决于NET的功能或依赖于NET基类。

C#保留了对底层操作系统API的直接调用和指针:基于java的速度问题与JNI的笨重,所以在设计C#时特意保留了这些C++的特性,避免了重蹈覆辙,也使得C#可以用来开发系统软件,visual 是一套完整的开发工具,用于生成ASP WEB应用程序,XML web services桌面应用程序和移动应用程序。Visual ,visual C++.net,visual C#.net和visual j#.net全部都使用相同的集成开发环境(IDE),在此visual studio的安装过程就不在详细说明了,首先第一次启动visual studio时,需要简单的配置环境。单击“开始”“程序”“Microsoft visual studio”在第一次启动时,会出现选择语言的对话框,就可以选择“Visual C#开发设置”在菜单中选择“文件”“新建”“项目”首先我们来创建一个控制台应用程序。C#代码是区分大小写的,所以在写代码时一定要按照C#的大小写规范来写,C#源程序文件一般用.CS作为扩展名。由于C#是一种完全面向对象的语言所以不会有独立于类得代码出现,应用程序的入口也必须是类的方法。在新建的控制台应用程序中,你会发现自动生成的Program类中只有一个成员,即名为main的方法,main方法是用static修饰符声明的,表明它是一个静态方法。另一个关键字void代表方法没有返回值,作为约定,被命名为Main的静态方法充当程序入口点。

二、C#中的类型

在最初学习C#时大多会对类型比较困惑。C#有两种类型:值类型和引用类型。值类型变量直接包括它们的数据,而引用类型变量存储的是它们的数据引用,后者被认为是对象。对于引用类型有可能两个变量引用相同的对象,因此,对其中一个变量的操作可能影响到另一个对象引用的对象。对于值类型,每个变量都有自己的数据拷贝,因此对一个变量的操作不可能影响其他变量。C#的值类型进一步的划分可分为简单类型(sbyte,short,int,long,byte,ushort,uint,ulong,char,float等),枚举类型(用户自定义类型Enum),结构类型(用户自定义类型struct)。C#的引用类型进一步划分为类类型(object,Unicode字符串string,class),接口类型(interface),数组类型(单维数组和多维数组),委托类型(用户自定义类型delegate)在此我说一下枚举类型,system.Enum类型是所有枚举类型的抽象类型,它本身并不是枚举类型,相反它是一个类类型,所有枚举类型都是从它派生而来,枚举类型的在转换时,既不能隐式转换成基类型,而基类型也不能隐式转换成枚举类型,说到类型的转换,装箱与拆箱不容忽视,它们是C#独有的,任何值类型、引用类型可以和Object(对象)之间进行转换。装箱转换是指一个值类型隐式转换或显示转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型。把一个值类型的值装箱,就是创建一个object实例并将这个值复制给这个object,装箱后的object对象位于堆中,堆中的地址在栈中。拆箱过程就是将一个对象类型显示的转化成一个值类型或是将一个接口类型显示的转换成一个执行该接口的值类型。值得注意的是:装箱操作可以隐式进行,但拆箱操作必须是显示的。拆箱过程分为两步:首先,检查这个对象实例,看它是否给定的值类型的装箱值,然后把这个实例的值复制给值类型的变量。

变量与常量:当需要访问存储在变量中的信息时,这里只需要使用变量的名称。为变量起名时要遵守C#语言的规则:(一)变量名必须以字母开头。(二)变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运算符等其它符号。(三)变量名不能与C#中的关键字名称相同。(四)变量名不能与C#中的库函数名称相同。在C#中有一点是例外,可以在变量名前加前缀“@”。变量的初始化是C#强调安全性的另一个例子。简单的说C#编译器粗要用某个初始值对变量进行初始化,之后才能在操作中引用该变量。大多数现代编译器把没有初始化为警告,但C#编译器把它当作错误来看待,这就是可以防止用户无意中从其它程序遗留下来的内存中获取垃圾值。C#中有两个方法可确保变量在使用前进行了初始化:(一)变量是类或结构中的字段,如果没有显示进行初始化,在默认状态下当创建这些变量时,其值就是0。(二)方法的局部变量必须在代码中显示初始化,之后才能在语句中使用它们的值。此时,初始化不是在声明该变量时进行的,但编译器会通过方法检查所有可能的路径,如果检测到局部变量在初始化之前就使用了它的值,就会产生错误。在C#中实例化一个对象时需要使用关键字new。变量的作用域是可以访问该变量的代码区域的。一般情况下确定作用域有以下规则:(一)只要字段所属的类在某个作用域内,其字段在该作用域内。(二)局部变量存在于表示声明该变量的语句块或方法结束的封闭花括号之前的作用域内。(三)在for、while或类似语句中声明的局部变量存在于该循环体内。注意同名的局部变量在同一作用域内不能声明两次。

常量:在声明和初始化变量时,在变量的前面加上Const,就可以把该变量指定为一个常量。顾名思义,常量就是其值在使用过程中不会发生改变的量,VB和C++的开发人员会非常熟悉变量,但C#不支持C++常量的所有细微的特征,在C++中变量不可以声明为常量,但在c#中这些细微的特性都删除了,这里只能把局部变量和字段声明为常量。常量具有如下特征:(一)常量必须在声明时初始化,指定了其值后,就不能再修改。(二)常量必须能在编译时用于计算,因此,不能用从一个变量中提取的值来初始化常量。如果需要这么做,应使用只读字段。(三)常量总社静态的,但注意不必在常量的声明中包含修饰符static。

字符串类string

在实际编程过程中,经常需要对字符串这个数据类型进行操作,字符串的常用的几个功能:compare(str1,str2)比较两个字符串的大小是否一致,如果大于返回正数,等于返回0,小于返回负数。Indexof:定为字符串中第一次出现某个给定字符串的位置。PadLeft和PadRight:在字符串开始和结尾用指定的字符填充字符串。ToLower和ToUpper:把字符串转换为小写或大写形式。Trim:删除首尾空白。String.Replace:用指定的字符串替换字符串的指定字符。当要大规模进行字符替换与调整操作时,使用字符串来操作将严重影响性能,在这种情况下就要用到system.text.stringBuilder类。Stringbuilder类并没有string类强大,只是提供了基本的替换添加和删除字符串中的文本的功能,但它的效率非常高。

运算符合表达式:任何一个表达式都由操作数和运算符所组成:操作数是运算符的输入,运算符则指明对操作数将进行何种操作。在C#中其中有4个运算符(sizeof、*、->、&)只能用于不安全的代码(这些代码绕过了C#类型安全性的检查)。C#中最大的缺点是,与C语言风格一样,赋值(=)和比较(==)运算使用不同的运算符。在C#中使用+来连接字符串,而&用来表示两个不同的整数值的按位and运算,在VB中没有%(取模)运算符,它返回除了运算的余数。C#中很少用到指针,也很少用到间接寻址运算符(->),使用它们的唯一场合是在不安全代码模块中。

以上就是介绍了C#的基础结构:类型,常量,变量等基础知识,希望入学能基本了解C#的基础入门知识,为以后深入语法的学习做好铺垫。

参考文献:

[1]赵建莉.C#应用程序设计教程[M].北京:人民邮电出版社

[2]刘黎明.程序设计基础C#[M].郑州:河南科学技术出版社

[3]蒋培,王笑梅web程序设计[M].北京:清华大学出版社

上一篇:信息时代做好高校信息工作之我见 下一篇:科技交流中心质量管理\人性化\精细化