常量与变量

一、常量:文本常量,通常表示常量值,声明时必须初始化

int a=123;
float b=1.23F;
<p>string s="C#.NET程序设计";</p>


二、变量变量是被用来存储特定类型的数据;如有需要,可以随时改变变量中所存储的数据值;变量具有名称、类型和值。

三、变量类型:
    1、值类型:直接存储数据,存储在堆栈中。
          主要分为:简单类型(Simple types)、结构类型(Struct types)枚举类型(Enumeration types)等。
         (1)简单类型:整数类型、字符类型、布尔类型、浮点类型、十进制类型;
              整数类型:代表没有小数点的整数数值,包括byte、ushort、uint、ulong。
                      字符类型:采用Unicode字符集,一个Unicode标准长度为16位。      
                            声明和使用
                      char ch1='x';

              布尔类型:常用于逻辑运算,bool值与整数值不能相互转换。如果变量声明为bool类型,只能使用true或者false。
                bool b1=true;
                bool b2=0;
              浮点类型:处理含有小数的数值数据,浮点类型主要包含float和double类型;
          (2)结构类型:和类一样,可以声明构造函数、数据成员、方法、属性等。不能派生类,不能继承,结构成员不能被访问权限控制字protected修饰,也不能被virtual、abstract修饰结构方法。
using System;
struct point //结构定义

{
public int x,y;//结构中可以声明构造函数和方法,变量不能赋值。
}
class test

{
static void Main()

{
point p1;
p1.x=166;
p1.y=111;
point p2;
p2=p1;
point p3=new point()
}
}


          (3)枚举类型:枚举类型是一种用户定义的类型,只有用户定义后才能使用它
Enum 名称{枚举表};
enum Color 

Red, 
Green, 
Blue, 
Max = Blue 

显示一个枚举,其中的两个枚举成员(Blue 和 Max)具有相同的关联值。 

    2、引用类型:存储数据的引用,在托管堆中为引用变量类型分配内存。
          主要分为:类、接口、委托和数组
     (1)类:如object类为所有类的基类;不指定的话,就默认object为基类。
public class 类名
{
类体;
}
     (2)接口:接口包含的成员只有方法,属性,索引器(有参属性),事件四种成员;方法的实现是在实现接口的类中完成的。
     interface ISampleInterface
 
 
{
void SampleMethod();
}
class ImplementationClass : ISampleInterface
{
// Explicit interface member implementation:
void ISampleInterface.SampleMethod()
{
// Method implementation.
}
static void Main()
{
// Declare an interface instance.
ISampleInterface obj = new ImplementationClass();
// Call the member.
obj.SampleMethod();
}
}
   (3)委托:目的通过创建委托类型对象去调用函数。
声明格式:
   修饰符 delegate 函数返回类型 定义的委托标识符(函数形参列表);
 如:public delegate int MyDelegate();
   (4)数组:一组类型相同的有序数组,数组名、数据元素类型、维数。
int[] arr;
float[] farr;
double[] darr;
string[] sarr;
int[,] arr2;
float[,,]farr2;
    数组的初始化:int[] arr=new int[3]定义一个3维数组;
    交错数组:数组的元素还是数组。
int[][]arr=new int[2][];//定义数组arr,有两个元素,每个元素都是一个数组;
arr[0]=new int[]{1,2,3};//定义第一个元素,是一个数组;
arr[1]=new int[]{1,2,3,4,5,6};//每个元素的数组可以不等长,arr[1][1]=2;
    复制数组:
int[]arr={1,2,3,4,5,6};
int[]arr2=arr;
四、值类型与引用类型的区别
1、对于值类型的实例,如果作为方法中的局部变量,则被创建在线程栈上。如果该实例作为类型的成员,则作为类型成员的一部分,连同其它类型字段存放在托管堆上。
2、引用类型的实例创建在托管堆上。










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值