[C#]C#补习——类型和操作符—PART1

       明年过完年就想跳槽换工作了,所以最近需要开始把C#的一些以前遗漏的知识、忽略掉的、不曾重视过以及模糊的知识给记录下来,以免到时候面试的时候因为一些基础性的东西而找不到工作。

以下是本文所要介绍的内容:

1、基础数值类型

2、字符串类型

 

一、基础数值类型

     在C#中数值类型分为整数型和浮点型,其中需要注意一下几点:

1、整数类型:short类型对应于系统中System.Int16,long类型对应于系统中的System.Int64类型,而一般的int类型则是指对着System.Int32类型,其中System.IntXX,代表的是数值的范围,并不和CPU扯上关系,曾经好像听过Int32是对应32位系统,64对应的是64位系统,我汗!⊙﹏⊙b汗。

 

2、浮点类型:浮点类型分为float和double,分别对应System.Single和System.Double,长度不同,由于其采用近似值的方式,所以会导致在进行类型转换的过程中非常可能会出现精度不准的问题,从而引发系统异常,此时如果想确保精度问题,可采用decimal类型,其确保了精度问题,但由于其长度相比浮点类型较短,所以从浮点转换到decimal时会出现溢出,并且其在计算时速度相比浮点要慢。

 

二、字符串类型

1、字符串类中有个我一直忽略的一个问题就是“@”,在C#中“@”符号是负责字符串中原义字符串的,比如下面的代码:

string str=@"c:\windows\temp\aa.bat";

上面是一个标准的转义字符串例子,如果不使用“@”则需要输入一下代码

string str="c:\\windows\\temp\\aa.bat";

依靠“\”来表示转义,而加上“@”以后则变成了原义字符串。

当然这个是我一直认为的“@”的作用,但是后来发现,原来“@”还有一个作用就是“逐字符”,一般来说如下代码在编译的时候是无法通过的:

string a="第一行
    第二行
        第三行";

因为在第一行后没有加上双引号来结束一行字符,但是通过“@”就可以解决这个问题,一旦在字符串上加上“@”,字符串则会变为逐字符,比如:像上面的代码中加上了“@”则会将每行之间的空格都包含进入,如下代码及效果图:

string a=@"第一行
    第二行
        第三行";

效果图如下:

pic113

 

2、在C#中有关char类型和操作符号还有个小技巧就是,如下代码:

char a = 'a';
char f = 'f';
//输出5
Console.WriteLine(f-a);

操作符号“-”可以计算出2个字符之间的距离是多少,还比较好玩,有兴趣的可以试试。

posted @ 2010-12-29 10:50  kyo-yo  阅读(974)  评论(4编辑  收藏  举报