根据网友们的反馈,在接下来的两周内,IT之家将对C#语言的基础知识进行介绍(每天一个知识点),以便你能够基本读懂项目中的C#代码。但需要说明的是,文章能够容纳的内容是极其有限的,只能提供一个学习的思路,无法涉及到C#语言的方方面面,特别是很多高级主题,你需要借助其他参考书籍来学习和掌握。
计算机程序往往需要处理各种各样的数据,因此每一套编程语言都需要有一套完善的机制来表示这些数据,这些数据可能是一串字符(字符串)、数字等,而数字又包括整数型、浮点型等。在有些编程语言中,定义数据时并不严格区分数据的类型,在程序运行过程中,数据类型可根据实际情况发生变化,这种语言称为弱类型语言,比如PHP、JavaScript这类脚本语言。而C#则是一种强类型语言,它对不同的数据类型都有不同的定义方法。数据类型又分为基本数据类型和自定义数据类型,后者是在前者基础上由用户自定义的一种数据类型,比如我们之前讨论过的类。
基本数据类型
• 整数类型
在C#中共有8种整数类型,分别为sbyte(有符号8位)、byte(无符号8位)、short(有符号16位)、ushort(无符号16位)、int(有符号32位)、uint(无符号32位)、long(有符号64位)、ulong(无符号64位)。
这里的位数是指二进制位数,对于有符号整形,最高位为表示正负的符号位,用n表示数据二进制位数,那么其表示范围为-2^(n-1)~ 2^(n-1)-1,比如32位有符号整型int的表示范围为-2147483648~2147483647。对于无符号整型,表示范围则为0~2^n-1,比如32位无符号整型uint表示范围为0~4294967295。
至于为何表示范围的最大值和最小值绝对值大小不一,这里涉及到原码、反码、补码相关的知识,请大家自行查阅资料进行学习。
• 浮点类型
浮点数用于表示非整数数字,它在计算机中的表示是比较复杂的,这里我们只需要简单知道C#中支持两种浮点数即可,分别为float和double,前者为32位,后者为64位。
除此之外,还有一种特殊的浮点类型,即decimal类型,它用128位进行表示,较适合大而精确的金融类计算。
• 布尔类型
布尔类型数据bool用于表示真假两种状态,分别为true和false,常常用在条件判断中。
• 字符和字符串
字符类型(char)用来表示Unicode字符,而零个或多个字符组成的有限序列则称为字符串(string)。
变量的定义和赋值
有了数据类型我们就可以在程序中定义所需的数据,定义数据的过程称之为变量的声明,变量被声明之后便可对其进行赋值。比如声明一个字符串类型变量,代码如下:
string name;
其中string为数据类型,包括上文介绍过的其他表示数据类型的单词,它们在C#语言中为专用单词,称之为关键字。后面的name则是我们自定义的用于表示一个字符串变量的名称。
声明变量之后就可以对其进行赋值,赋值操作代码如下所示:
name = "DouDou";
类型的分类
C#中的数据类型可分为值类型和引用类型两类,主要根据它们在内存中的存储和复制的方式进行区别。在以上介绍的数据类型中,只有string类型为引用类型。
举个例子,我们定义两个int变量:
int a = 1;
int b = a;
在内存中a和b分别占用不同的内存位置,且更改其中一个变量的值对另一个不会造成影响。值类型变量本身存储数据值。而引用类型则不同,类似地定义两个字符串变量:
string c = "Doudou";
string d = c;
在内存中,c和d虽然是两个字符串变量,但它们都指向内存中同一个位置,实际上a和b两个变量本身存储的是内存中的位置,而不是数据本身,要访问数据需要先从变量中读取内存地址,才后再根据内存地址找到数据内容。
最简单的C#程序及程序编译
下面我们就来看一段最简单的完整的C#程序代码:
class HelloWorld
{
static void Main()
{
System.Console.WriteLine("Hello World!");
}
}
在之前的文章中我们已经初步接触了类(class)的概念。C #是一门完全面向对象的编程语言,所有的语句都放在类的内部,以上代码即定义了一个名为HelloWorld的类。与C++程序一样,C#也有入口点函数,即程序开始运行的地方,在以上代码中程序的入口位置就是HelloWorld类中的Main方法,并且这个方法必须为静态(static)方法。静态方法的特点是,不需要对类进行实例化就可以直接被调用执行。在这个最简单的程序中,在Main方法中我们调用System.Console.WriteLine方法在控制台输出了一串字符Hello World!,并且这一串字符占据一整行的位置。
下面我们利用前面已经学到的知识对这个简单的程序进行修改,在控制台中输出字符串变量对应的值,修改后的代码如下:
class HelloWorld
{
static void Main()
{
string a = "Doudou";
string b = a;
System.Console.WriteLine(a);
System.Console.WriteLine(b);
b = "Hi";
System.Console.WriteLine(a);
System.Console.WriteLine(b);
}
}
下面我们就来编译并运行这个程序,首先我们在D盘新建一个文本文档,将以上代码复制到文本文档中,保存并重命名为HelloWorld.cs。然后我们使用微软的Microsoft .NET编译器对程序进行编译。如果你已经安装了Visual Studio,在开始菜单中找到“VS2015开发人员命令提示工具”,打开如下图,依次执行三条命令:
上图三条命令解释:
• 通过cd /d d:\命令可将命令提示符的当前路径定位到D:\
• 通过csc.exe 源代码文件名
本文来源:不详 作者:佚名