c#中声明一个数组并没有创建类型对象?

假设有animal类,声明一个animal类型的数组:animal[] myanimal = new animal [2].那么这样并没有实例化2个animal类型的对象吗?如果要调用animal的方法,还得先animal myanimal=new animal();这样啊?

在C#中数组和其它对像一样是引用类型,但是它却和其的object对象有不同,正是它的这种特殊性才让你有这样的疑问.

一般的引用类型在实例化的时间都会调用其默认的构造函数
就如你所说的Animal am = new Animal();//Animal()构造函数比其它的优先级要高.
而数组Animal[] am = new Animal[2];在这里数组既有值类型的特征(给am对象分配了内存空间),同时和引用一型一样用new关键字创建对象.

所以说数组是一种特殊的引用类型.
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-08-07
没有实例化 只是创建了myanimal数组

就是开辟了内存空间 但是没有赋值

实例化是给它赋值
int[] myint= new int[2]是创建了对象
myint={1,2};
这才是实例化
第2个回答  2008-08-07
这样
animal myanimal[0]=new animal();
animal myanimal[1]=new animal();
第3个回答  2008-08-14
你没没有实例化 只是创建了大小为2的myanimal数组

C#中如何声明一个使用不定类型和数量参数的方法
问题描述不是很清楚,如果是有一种操作,对于不同类型的参数,其代码操作是一样的,但是定义方法是又不能设置多种参数类型,可以使用泛型<T>让所有T都继承系统的接口,那么这些不同的参数只要集成这个接口就是一个类型的 如果你是问,有一个变量,具体是什么类型的要看后续代码的判断,那么C#中可以使...

C#中把一个类定义为一个数组?
其实 就是 声明一个数组,类型是int型 Computer[] com = new Computer[3]显而易见 声明了一个数组,类型是Computer 只不过 Computer是个对象 这个数组的每个元素都是一个Computer对象,对象有name,dy属性罢了 对不对?万物皆对象= = 当然你要给 这个数组赋值的话 肯定要 把这个 对象先New...

c#怎样定义数组
在C#中定义数组的基本语法是声明数组的变量类型,然后指定数组的名称和长度。下面是定义数组的 答案:在C#中定义数组的基本语法如下:1. 定义一维数组:`数据类型[] 数组名 = new 数据类型[数组大小];`2. 定义多维数组:`数据类型[][] 数组名 = new 数据类型[维度大小1,维度大小2,...,维度大小...

想深入学习C#语言,有没有达人知道C#的好的资料呢?
9、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。10、编写一个矩形类,私有数据成员为举行的长(len)和宽(wid),无参构造函数将len和wid设置为0,有参构造函数设置和的值,另外,类还包括矩形的周长、求面积、取举行的长度、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用...

c#中一个数组要存储不同类型的变量要怎么定义
先声明一个ArrayList:ArrayList a = new ArrayList();然后再a.Add(你要添加的数据),什么类型的都可以 这个a就相当于是一个数组(其实是一个集合,用法跟数组类似)注意要using System.Collections;这样才可以用ArrayList

C#中数组没有初始化其初值是什么
值类型的数组,就是默认值,一般是0,字符串就是null,总体上就是所占内存全初始化为0。引用类型的数组为null

怎么用C#在控制台中声明一个数组?
class Arr { static void Main(){ int nLength; \/\/声明数组长度变量 int[] arr; \/\/声明数组 Console.WriteLine("请输入数组大小");nLength = Int32.Parse(Console.ReadLine());arr = new int[nLength];Console.WriteLine("请输入数组元素");for (int i = 0; i < nLength; i++) ...

C#中一个数组中存储不同类型的对象问题
当然可以了 要是不可以的话 还用什么实现多态 恩对 因为如果你使用强制转换 就是那种括号的形式的话 如果转换失败的话会报错. 而如果用as操作符的话如果转坏失败的话就不会报错 而且用as可以使用if(b as a) 返回boolean类型的true或者falase让程序更加的严谨一些....

c#已经声明一个string类型的数组,如何对其进行大小的设置?
C#中声明数组大小的语法均一致为:new typeName() [Size]Size为INT类型数字.如果想要更改大小则需要重新创建该对象则可覆盖原本大小.例如 var a=new string()[3];重新规定大小 a=new string()[10];但是这样会很浪费资源.您还需要将原本的值想办法移动到新的数组中.而C#为了处理这样的情况是新加了...

C#中的类和对象
1. 静态字段和实例字段 在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据。静态变量在类中类似全局变量,保存类的公共信息,所有该类的实例(对象)共享该值。 使用 static 修饰符声明的字段定义了一个静态字段 (static field)。一个静态字段只标识一个存...

相似回答
大家正在搜