如何给数组赋值

cloudgamer 2008-02-04 11:52:16
int[] aa =null;
int[] aa1 ={1,2};

aa = aa1;

这样没问题

int[] aa =null;
aa = {1,2};

这样就报错
为什么?
...全文
161 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LikeCode 2008-02-04
  • 打赏
  • 举报
回复

int[] aa1 = {1,2};
//象这种写法在javascript称直接量
//在C#貌似没听这“直接量”的说法
//不过这两种写法都正确的,而且也没有褒贬之分,编译后应该是一样的
cloudgamer 2008-02-04
  • 打赏
  • 举报
回复
那严格来说
int[] aa1 = {1,2};
也应该写成
int[] aa1 = new int[]{1,2};
我试了一下没报错
那第一种应该是简写模式吧
humin1906 2008-02-04
  • 打赏
  • 举报
回复
int[] aa ;
aa = {1,2};
wuyi8808 2008-02-04
  • 打赏
  • 举报
回复
int[] aa;               // 声明
aa = new int[]{1,2}; // 赋值
int[] aa1 = {1,2}; // 声明兼初始化
LikeCode 2008-02-04
  • 打赏
  • 举报
回复
要象这样
        int[] aa = null;
aa = new int[] { 1, 2 };
xingtianzhang2008 2008-02-04
  • 打赏
  • 举报
回复
int[] aa1 ={1,2}; 这个是给数组赋值,已经初始化过了,而你:
int[] aa =null; aa = {1,2}; 这样并没有初始化,没有初始化,就直接赋值,那么肯定错误!

int []aa;
aa=new int[2];
aa[0]="abc";
aa[1]="dsfds";


或者

int []aa=new int[2];


aa[0]="abc";
aa[1]="dsfds";

或者 int[]aa=new int[2]{"abc","dfd"};



Sorder 2008-02-04
  • 打赏
  • 举报
回复
数组大小必须事先分配
可以分配的时候就赋值,也可以过后赋值

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧