C#编程类 typeObject [] array = new typeObject [5]; 此外,typeObject有一个构造函数,它接受一个整数。 如何使用不同的整数调用每个对象,而不是使用默认构造函数? 谢谢。声明一个具有不同参数的对象数组
回答
您既可以构建直接在数组中的元素:
typeObject[] array = new typeObject[5];
array[0] = new typeObject(1);
array[1] = new typeObject(2);
,或者您可以使用数组的初始化:
typeObject[] array = new typeObject[]{new typeObject(1), new typeObject(2), ... new typeObject(5)};
对于第一个选项,第一个语句不会用默认构造函数声明所有对象吗?谢谢@William –
@LeonardLie在第一个代码示例中,数组的每个元素都将初始化为'typeObject'的默认值。如果这是一个类,那么每个元素将是空的。如果这是一个结构,例如一个'DateTime',那么它大致等同于调用结构体的无参数构造函数 - 虽然实际上无法为一个结构体定义一个自定义无参数构造函数,但编译器为您提供了它。 –
没有什么错误使用您在comment引代码:
typeObject[] array = new typeObject[5];
array[0] = new typeObject(7); // note: array indexes start at 0
array[1] = new typeObject(3);
array[2] = new typeObject(15);
...
但是如果你想要做一个声明,你可以al方式使用数组初始化语法:
typeObject[] array = new typeObject[]
{
new typeObject(7),
new typeObject(3),
new typeObject(15),
};
谢谢。那么,第二个代码中的第一个语句不会调用typeObject类的默认构造函数? @ p.s.w.g –
@LeonardLie第二个代码块只包含一条语句,它使用指定的构造函数(不是无参数的)构造* N *对象,并初始化一个包含这些对象作为元素的新数组。 –
不,它只是创建数组。在用新的typeObject()语句初始化之前,数组的元素是空的。 –
- 1. 我该如何声明一个具有不同类型数据的数组?
- 2. 数组和对象声明
- 3. 声明对象数组
- 4. 对象声明数组
- 5. 声明函数的对象参数
- 6. 声明一个具有未知大小目标的对象X的数组c
- 7. 声明具有用户输入大小的对象数组
- 8. 使用一个参数匿名对象不能被声明
- 9. 将关联数组声明为一个新的Array()与将关联数组声明为对象{}相同?
- 10. 具有不同类型的2维数组的声明
- 11. 有问题声明对象数组的数组Java
- 12. 如何用一个数组参数声明一个函数?
- 13. 声明为对象构造一个包含整数数组
- 14. 声明一个没有arraylist的数组
- 15. Python,argparse:具有不同参数个数的不同参数
- 16. 声明一个类型没有参数
- 17. 声明接口内的数组对象
- 18. 声明一个具有类构造函数作为函数参数的函数
- 19. 合并具有不同ID的多个对象数组
- 20. 如何声明一个具有向量的数组
- 21. 如何在自己的类中声明一个对象数组?
- 22. 如何在iOS中声明具有多个参数的函数
- 23. 如何声明一个泛型委托具有out参数
- 24. 如何比较在angularjs中的两个不同函数中声明的两个不同的对象数组?
- 25. 如何声明一个数组数组?
- 26. javascript/jquery动态对象数组声明
- 27. VBA如何声明具有不同数据类型的元素的数组
- 28. 带有不同对象数组的App Engine端点参数
- 29. 具有对象数组的对象
- 30. 如何在Java中声明一个对象数组?
我的意思是将数组的每个索引声明为构造函数的不同传递参数。基本上我想要的是array [1] = new typeObject(3); array [2] = new typeObject(15); ... –