一、C#是一种面向对象的编程语言,主要用于开发可以在.net平台上运行的应用程序。是一种强类型语言,因此每个变量都必须具有声明类型。C#中有两种数据类型:值类型和引用类型。(其中值类型用于存储值,引用类型用于存储实际数据的引用)。
1、值类型
值类型表示实际的数据,存储在栈堆中。C#中多数基本类型都是数值类型。值类型包括简单类型、枚举类型和结构类型。
2、引用类型
引用类型表示指向数据的指针或者引用,可存储实际数据的引用。引用类型为null时表示没有引用任何对象。引用类型包括接口、类、数组和指针等。其中类中又包含装箱类型、委托、自定义类。
3、装箱和拆箱
简单的说,装箱就是从值类型到引用类型的转换。同样,拆箱是从引用类型到值类型的转换。使用拆箱可以像操作简单类型一样操作复杂的引用类型,这也是C#强大的功能。
简单的装箱和拆箱的实例:
class Test
{
static void Main()
{
//声明一个值类型的常量
int i = 3;
//装箱-(将值类型转换为引用类型)
object x = i;
//拆箱-(将引用类型转换为值类型)
int y = (int)x;
}
}
说明:在装箱和拆箱的过程中,任何值类型都可以被当做object引用类型来看。当一个 装箱操作把一个值类型转换成一个引用类型时,不需要显示地强制类型转换;而拆箱操作把引用类型转换到值类型时,由于它可以强制转换到任何可以相容的值类型,所以必须显示地强制类型转换。
二、常量和变量
1、常量:也称为常数,在编译时已知并运行过程中不变的量,常数被声明为字段,声明时在字段的类型前面使用const关键字,常量必须在声明时初始化。常数可标记为public ,private,protected,internall这些访问修饰符定义了用户访问该常数的方式。
2、变量:变量的命名规则必须符合标识的命名规则,并且变量名要尽量有意义,以便阅读。变量是值在程序运行过程中不断变换的量,通常用来保存程序运行过程中输入的数据、计算获得的中间结果和最终结果。
使用变量前必须对其进行声明,变量可以保存某个给定类型的值。声明变量时,还需要制定它的名称。声明变量的形式:【访问修饰符 数据类型 变量名称】。
修饰符的访问级别:
public :公有的,使成员可以从任何位置访问
protected:受保护的,使成员可以从声明它的类及其派生类内部访问
private: 私有的,是成员仅从声明它的类内部访问
internal:内部访问,使成员仅可以从声明它的程序集内部访问