ASP.NET.2.0.in.C.Sharp.2005.From.Novice.to.Professional的读书笔记[3] - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- ASP.NET.2.0.in.C.Sharp.2005.From.Novice.to.Professional的读书笔记[3] (http://www.webasp.net/article/29/28099.htm) |
| -- 作者:未知 -- 发布日期: 2007-01-09 |
CHAPTER2 Learning the C# Language 这一章将对C#语言进行概述。论述的内容包括数据类型,操作方式,定义函数需要的代码,循环,特定逻辑.虽然你不需要去了解全部的细节,但这正是职业与业余的区别.对学习者的建议是,你可以不必要去记住这一章,可以当有需要的时候返回到这一章来. The .NET Languages 使用C#代替VB.NET仅仅只是开发形式的变化,而而并不影响其他,同样你也可以使用第三方提供的语言,但需要记住的是.NET Framework里CLR只认识中间语言,而并不认识其他的语言.所以使用任何语言编写的程序,在被编译成中间语言之前,是无法被CLR运行的. C# Language Basics Case Sensitivity 有些语言是大小写敏感的,例如C,C#,JAVA,而VB.NET不是的,如果使用VB.NET的人在使用大小写敏感的语言时,如果不注意大小写敏感,则编译器的编译是不能通过的.C#的语言比较多的是小写. Commenting 注释加强程序代码的可读性,他不会被编译器编译,C#提供了两种注释方法,第一种在"//"后写注释,"//"所在行之后的内容全部会被当作注释,第二种/*与*/之间的内容,他们之间的内容会被当作注释. C#还有一种基于XML的注释,此格式与HTML的语言很相近,格式是 他们之间的内容会显示出来,做为对某个按钮的使用说明. Line Termination C#语言的任何一个语句是以";"结尾的,如果一行最后没有";",那么他会把下一行也算为这个语句,直到";"为止. 例如: Block Strctures C#的代码放在{}之间,{}之间的代码被看做是一个整体,{}里面还可以有{},而且{}是成对出现的,这好比是文章的开始"{"与文章的结束"}". Variables and Data Types 任何语言都可以定义变量,变量用于存储相应的数据信息,使用C#定义变量时,首先要给变量命名,然后要赋予变量正确的类型,这些类型包括,文本,数据,时间,指针,类等等.例子 int errorCode 定义了一个名为errorCode的整数变量. 在解决不同语言的定义变量类型使用名称的不同这个问题上,微软提出了一个基础变量类型. 基础变量类型,VB变量类型,C#变量类型表如下: Table 2-1. *代表,这种类型在此语言中没有定义,但这种类型是实际存在的,当然也是可以使用的,例如C#要使用TimeSpan类型,可以这样来定义, Assignment and Initializers 一旦定义了变量,就要对变量进行赋值了,例如 decimal表示的是数据范围是,大约是1.0*10^-28到7.9*10^28,decimal的位数是128,double的位数是64,那么为什么decimal没有double表示的范围大呢,这是因为浮点数分两部分存储:尾数和阶码(指数部分),表示尾数的位数多则精度高,表示指数的位数多则范围大,double虽然64位,但其精度低,故其可以表示的范围大,decimal虽然是128位,但由于其用了较多的位来表示其精度,只好牺牲表示范围了.在微软的帮助书中这样写到,decimal 关键字表示 128 位数据类型。同浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。 上面这个例子,赋值的时候会自动将myDecial定义为double类型,如果要避免这种情况的发生,则定义时要加上decimal myDecimal = 14.5M; Strings and Escaped Characters "\"和一些字符合在一起,就可以构成新的意思,所以"\"也被称为转义字符,*看来以后还是要具体的查查转义字符怎么使用*,例如 path = "c:\\myapp\\myfiles"; 它和 path = @"c:\myapp\myfiles"; 的意思是一样的,因此,@字符的意思为忽略@之后的"\"字符. Arrays 数组,这个是许多语言都有的定义方式,他可以定义一系列相同类型的数据,例如int类型,数组的起始数字是0.例子: string[] stringArray = new string[4]; 此处定义了1个字符串数组,数组的名字是stringArray,数组的成员有4个(而不是5个,这个问题很容易混淆),访问数组的方式是,例如,访问数组成员的第一个是stringArray[0],第二个是stringArray[1],依次类推. 当然还可以定义一维数组,二维数组,三维数组.他们都遵循上面的规则. 在数组被定义,但是没被初始化的时候,他们会被默认为0或者false. 以二维数组为例子,定义一个二维数组.应该如下定义: int[4,2] intArray = {{1,2},{3,4},{5,6},{7,8}};/*不一定要遵循这个赋值规则,这是两个值一起赋值,也可以单个单个 的赋值*/ The Arraylist 这对我而言是个新东西,我说说我的理解吧,这个可以说是一个比较特殊的数组类型,你可以使用他来定义一个数组,但在没有转换他之前你是无法使用他的,因为他并没有具体的类型,他也许是int,也许是char,也许是string.你可以把你想要的数据放进去,等需要使用的时候再把他转换一下提出来,似乎我表达不清楚,那么我来举个例子吧. ArrayList dynamiclist = new ArrayList(); 这样dynamiclist数组里面就有了三个,这三个都是one; 我想,除了第一个是one字符串之外,第二个是数字,第三个是bool数. 因此,这个数组打破了一个数组内定义的数据必须是相同类型的这样一个规定,你可以往ArrayList型数组里放入数字,字符,字符串等.我想这就是这个数组类型存在的必要. Enumerations 枚举,和类有点相似,但有不一样,类有方法,而他却没有,例如; enum UserType UserType newUserType = UserType.Admin; 也可以自主赋值,只需要在后面加上=和数字即可,例如 Admin = 80; |
| webasp.net |