Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104578201
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-15 19:17:52

   来源:赛迪网开发者论坛    作者:AK Sung

C#在数组中最富革命性的改变因该是添加了锯齿形数组,例如它可以添加一组{{1,2,3,4},{2,3},{2,3,1}}长度不一样的数据,在C++中只能创建一个[3][3]的数组,在C#中它能够产生这样一个锯齿形数组,第一组中有4个数据,第二组中有2个数组,第三组中有3个,这样可以不浪费内存。

锯齿数组的定义和前面的定义也有区别,它更象是一个数组中包含了一个数组:

int[][] num=new int[3][];
num[0]=new int[4]{1,2,3,4};
num[1]=new int[2]{2,3};
num[2]=new int[3]{2,3,1};

下面是上面的定义的一种简洁写法:

int[][] sum={new int[]{1,2,3,4},new int[]{2,3},new int[]{2,3,1}};

三.变量

变量的使用和作用域和C++类似,没有什么特别需要注意的。

但是首先我们应该看到,现在的程序都是包含在类当中了,也就是说定义的变量都变成了类的私有成员,如果要在别的类中使用变量就需要在定义语句前加上限制符public。

在C++中我们看到过这样在类中声名变量:

public:
int a;
int b;

a,b都是公有的,因为使用了public:,但是在C#中这样的语句没有了,我个人认为这样其实很好嘛,简洁明了。

在C#中必须给每个变量添加限制符:

public int a;
public int b;

C#中的限制符还有一些,如下:

internal:变量只能在当前程序中使用

new:从其他类继承而来的类,并隐藏了该类中的已有字段,这个关键字会在类中介绍.

private:私有的,和C++中含义一样

protected:保护类型,和C++中含义一样

static:静态的,和C++中含义一样

readonly: 只读,在变量初始化以后就不许改变

protected internal:当前程序中使用,或者在派生当前类型的其它类型中被访问,就是双重限定,但只有这一个组合

四.常量

常量的定义使用const关键字,和C++类似。

它和只读限定符的区别:

1.常量是静态的

2.必须在初始化时赋值

真不明白有什么实际的意义,发现C#也是一个累赘的语言。

阅读(227) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~