C#语法基础.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:12 大小:25KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

C#语法基础.doc

C#语法基础.doc

预览

免费试读已结束,剩余 2 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章C#语法基础?在上一章里读者接触到了第一个C#应用程序,虽只是简单地在控制台输出了一句问候语,但它却充分体现了VisualStudio2008的易用性及C#语言的特点。理解了C#的用途之后,就可以学习如何使用它。本章将介绍C#的基本语法知识,通过本章学习,读者将了解以下内容:?理解C#中的数据类型。?理解常量和变量的含义及用法。?理解数据类型转换的含义。?会运用常用的运算符和表达式。2.1C#数据类型?应用任何一种程序语言,需要充分了解它提供的数据类型,这样才能明白它的功能与限制,以便选择合适的数据类型来处理不同的数据。例如在平时生活中,我们会用整数来表达东西的数量,而在工程、金融领域我们要用到很高精度小数。但对计算机来说,数据的含义更要宽泛些,比如说一句话、一个字符等,对计算机来说都是数据。计算机会用不同的方式来处理它遇到的不同类型的数据。2.1.1通用类型系统简介?通用类型系统(CommonTypeSystem,CTS)是一个所有.NET语言都支持的数据类型的集合,它定义了如何在运行库中声明、使用和管理类型,确保这些语言可以相互传送数据,体现在.NET语言的互操作性。例如在C#中声明int类型的数据和在VB.NET中声明的Integer类型数据,实际上是通用类型系统中的System.Int32的一个实例。将数据类型内置于.NETFramework中的好处是,可以把所有的基本数据类型看作是支持某些方法的类,例如,要把inti转换成string,可以写如下代码:stringstr=i.toString();在C#语言里,有多种数据类型(Type)。根据数据产生时在内存中存放的方式,.Net将整个系统的数据类型分成两大类――值类型和引用类型。值类型直接包含数据。每个值类型变量都包含有它自己的数据备份,因此对一个值类型变量的操作不会影响其他变量。引用类型包含指向对象实例的引用或指针。两个引用类型的变量可以指向同一个对象实例,因此对一个引用变量的操作会影响其他引用变量。可以通过下面一个例子来加深读者对值类型的引用类型的理解。????2.1.2值类型??【本节示例参考:\源代码\chapter2\2.1.1\ValueTypeExample】大多数编程语言都提供内置的数据类型(比如整数和浮点数),这些数据类型会在作为参数传递时被复制(也就是说,它们通过值来传递)。在.NET框架中,这些数据类型称为值类型。值类型通常是像整数这样的简单类型。C#中的值类型包含整数型、浮点型、布尔型、字符型等。表2.2列出了预定义的简单值类型。2.1.3引用嘈??【本节示例参考:\源代码\chapter2\2.1.2\RefTypeExample】?引用类型的变量又称为对象,可存储对实际数据的引用。类似于在储物柜里存放的是该物品的地址信息。C#支持两个引用类型,如表2.4所示。2.2常量和变量?变量名表示一条信息的名称。其实在之前的程序代码中,已经接触到过变量,比如在上一节示例中使用到的a、b、c等,都是string类型的变量。变量的值在程序运行过程中可以改变。而常量是一旦定义好后,在程序运行过程中其值不变的量。2.2.1变量的声明和初始化?C#是一种“强类型”编程语言,在声明变量时必须指明它的数据类型。声明变量的作用之一是告诉编译器要为变量分配多少内存空间。就像要将一个物品存进储物间,应该事先让保管员知道,这个物品有多大,以便分配合适大小的储物柜。大了会浪费空间,小了东西放不下,会造成不必要的错误。声明变量的格式如下:?数据类型变量名;?比如,下面的代码声明了一个int型的变量i:?inti;?变量声明后,可在程序运行中,给变量i赋值,或者可以在声明的时候给变量赋初值。一个变量声明以后可以多次赋值。在初始化时对变量赋值采用下面的格式:?数据类型变量名=初始值;?doubletotal=34.3D;2.2.2变量命名规范及编码规则?在C#中,对变量的命名有一些限制,包括以下规则:?变量名必须以字母开头。?变量只能有字母、数字、下划线。不能包含空格、标点等。且不能由数字开头。?变量名不得与C#中的关键字同名。?变量名不得与C#中的库函数同名。?下面给出了一些合法和不合法的变量名:?string3str;//不合法,以数字开头?floattotalcount;//不合法,变量名包含空格?intprod2;//合法?doubleMain;//不合法,与Main函数同名?doublefloat;//因为float是关键字,不能用作变量名2.2.3变量的作用域?【本节示例参考:\源代码\chapter2\2.2.3\ScopeExample】?作用域(scope)是指由一个代码块或者语言结构约束起来的分层