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); ... –