C#基础与VB基础比较

来源:互联网 发布:淘宝旗舰店需要多少钱 编辑:程序博客网 时间:2024/06/07 05:43

         在看C#视频的时候,感觉这老师讲的很乱,还好前面有VB作为基础。只要还记得我们去年讨论的VB总结,那么在看C#视频的时候,就会感觉到很熟悉。看完视频之后,就特别有一种欲望,将C#VB进行比较。

         1.数据类型

         C#包括两种变量类型:值类型和引用类型


 1.值类型:值类型就是一个包含实际数据的量。当定义一个值类型的变量时,C#会根据所声明的类型,以堆栈方式分配一块大小相适应的存储区域给这个变量,随后对这个变量进行读和写操作。

         例如:下面的例子,首先先在堆栈中分配一个32位的存储区域给变量a,并且将10放入这个内存区域中,随后,从变量a中取出值,加上10,再将计算结果赋给a。

Int a = 10  A = a +10 
2.引用类型:引用类型跟值类型不同,值类型存储的是一个实际数据的量,而引用类型存储对数据的内存地址的引用。

 创建引用类型一般包括这两步:首先,在堆栈上创建一个引用变量;然后,在堆上创建对象本身,再把这个内存的首地址赋给引用变量。

例如:

String S1,S2;S1="ABCD";S2 = S1;

    在这里String是一个引用类型,S1S2分别是指向字符串的引用变量。S1是字符串”ABCD”存放在内存中的一个地址。两个引用型变量(S1S3)之间的赋值,使得他们两个都是对"ABCD"的引用。

          注意:堆和栈的区别:

          堆是由new分配的内存,存储可变长度的数据,按任意顺序和大小进行分配和释放内存。速度较慢,但方便使用,而栈是一般用于存储固定长度的数据。按先进后出的原则存储数据项。

        相对于C#的数据类型来说,VB数据类型就简单多了,主要包括这么几种:数值型、货币型、字节型、日期型、逻辑型、字符串型和对象型。

       二、变量与常量

        1.常量就是指不可改变的量

C#中定义常量类型有:intdouble string boole char

        语法:const类型名常量名=常量表达式

                      const double PI = 3.14159

        常量的初始化:Const int a = 1

         VB中的常量主要有整型、长整型和字节型常量和实型常量、字符串型常量、逻辑型常量和日期时间型常量。声明如下:

[public|private ] const <常量名>[AS] <类型>]= <表达式>

        2.变量是指在程序运行过程中可以改变的量

C#中对变量的声明:

[访问限定关键字数据类型 变量名

PS:

变量名必须是字母或下划线开头,不能有特殊符号;

 一条变量声明中,可声明多个相同类型的变量。

       变量的作用域:

Private只有自己可以访问

Internal在同一个程序集中可以访问

Public谁都可以访问

Protected只有继承关系可以访问

静态变量和实例变量:静态变量属于类,实例变量属于类的实例。

VB中的变量:

声明:<Public |Private|Dim|Static> <变量名>[As数据类型]

vb中变量的作用域:

局部变量:dimstatic

模块级变量:privateDim

全局变量:Public

运算符和表达式:

         C#提供大量的运算符:按操作数的数目来分,有一元运算符(++/--),二元运算符(+*)三元运算符(?:)按运算的功能来分以下几类:

算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、位运算符、其他特殊运算符。

VB运算符就简单的多了,主要有这几种:算术运算符、字符串运算符、关系运算符和逻辑运算符。


原创粉丝点击