当前位置:编程学习 > C#/ASP.NET >>

请教几个c#数组的语法问题

下面是几句简单的数组定义和初始化语句,有的编译成功有的失败,不知道原因,请高手指点。 
int[] pins = { 9, 3, 7, 2 }; 
编译成功;
int[] pins;
pins = { 9, 3, 7, 2 }; 
编译失败;
int[] pins;
pins = new(){ 9, 3, 7, 2 }; 
编译成功;
int arraySize = 4;
int[] pins = new int[arraySize];
编译成功;
int arraySize = 4;
int[] pins = new int[arraySize]{ 9, 3, 7, 2 }; 
编译错误,提示应输入常量;
const int arraySize = 4;
int[] pins = new int[arraySize]{ 9, 3, 7, 2 }; 
编译成功;
--------------------编程问答-------------------- 指定数据里面元素的时候必须要指定数组的长度 --------------------编程问答-------------------- 基本语法问题,怎么回答你了,C# 就是这么设计的。 --------------------编程问答--------------------
引用 1 楼 happyrain2010 的回复:
指定数据里面元素的时候必须要指定数组的长度

你指的是第几句? --------------------编程问答-------------------- 编译器那样规定的,如果换个编程大师开发个编译器,可能结果就不同了。不必过于深究其中。 --------------------编程问答-------------------- 好的,谢谢大家了。 --------------------编程问答-------------------- 就先不理解顺着做吧,做多了自然就理解了 --------------------编程问答--------------------
引用 6 楼 yunhaic 的回复:
就先不理解顺着做吧,做多了自然就理解了

好的,谢谢你的建议 --------------------编程问答-------------------- 只要知道怎么用就行了,不要转牛角尖 --------------------编程问答-------------------- 数组的初始化有两种方式。可以以字面形式指定数组的完整内容,也可以指定数组的大小,再使用关键字new初始化所有的数组元素! --------------------编程问答-------------------- int[] pins = { 9, 3, 7, 2 };   //直接赋值,省略了方括号指定长度,那么数组的长度就由 
编译成功;                         //大括号中的初值的个数决定
int[] pins;                      //利用这种直接赋值的方法进行数组的初始化的工作的时候,
pins = { 9, 3, 7, 2 };         //两条语句不能分开! 
编译失败;
int[] pins;
pins = new(){ 9, 3, 7, 2 };     
编译成功;
int arraySize = 4;
int[] pins = new int[arraySize];   
编译成功;
int arraySize = 4;
int[] pins = new int[arraySize]{ 9, 3, 7, 2 };  //利用该种方法时,长度要明确指出 
编译错误,提示应输入常量;
const int arraySize = 4;
int[] pins = new int[arraySize]{ 9, 3, 7, 2 };  
编译成功;
--------------------编程问答-------------------- 恩 这个应该是定义(define)的
不是本质的东西,只是语法。 --------------------编程问答-------------------- 编程语言其实就是个规则系统...所以必须遵守规则,只有设计规则的人才可以不受规则限制... --------------------编程问答-------------------- 是的,遵循MS的研發規則吧。習慣就好,慢慢理解。 --------------------编程问答-------------------- 听说这个叫什么“初始化器”? --------------------编程问答-------------------- 说白了 是数组初始化问题
数组不能不指定长度(动态的除外)
数组初始化有3种格式(百度吧) --------------------编程问答-------------------- 你有空试试c++的数组定义,和c#又有所不同。
每种语言都各有规则,所以我们要做的,就是记住这些游戏规则。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,