Array.Copy
做了複製工作,但不會告訴我複製了多少個元素。在任何一個數組不夠大的情況下,我所要求的元素數量都會被複制,我需要知道有多少。那麼是否有一些API可以實現這一點,還是我必須在自己的代碼中進行計算?謝謝。如何複製數組之間的元素,同時知道有多少元素被複制?
回答
Array.Copy
如果目標陣列中沒有足夠的空間,將會失敗。在這種情況下將不會複製任何內容。如果你認爲不然,你一定是在誤解某些東西。
無論如何你必須自己進行計算。
它會複製你告訴它的元素。 Array.Copy()
需要一個參數指定要複製的元素數量。
您可以使用每個陣列的Length
屬性來檢查大小。
根據文檔,Array.Copy
的每個過載都有length
參數,因此您知道事先將複製多少個元素。
例如,如果我們把它叫做是這樣的:
Array.Copy(sourceArray, destinationArray, length);
那麼作爲文檔說:「如果length
比元素的sourceArray
或length
數量越比元素的destinationArray
的數量越多將拋出「ArgumentException
」。
如果我理解正確,你想複製一個數組到一個新的,然後看有多少項目被複制? 這是徒勞的。 Array.Copy()將複製每個項目,或根本沒有項目。如果您的目標數組比您的源數組小,您將得到一個ArgumentException
。 MSDN告訴您以下內容:
sourceArray和destinationArray參數必須具有相同的維數。另外,destinationArray必須已經被標註尺寸,並且必須有足夠數量的元素來容納複製的數據。
或者,如果您使用Array.Copy Method (Array, Int64, Array, Int64, Int64)
過載,你需要有你的目標數組中有足夠的空間來容納源陣列:
的sourceArray和destinationArray參數必須具有相同的維數。另外,destinationArray必須已經進行了標註,並且必須具有足夠數量的從destinationIndex位置開始的元素以容納複製的數據。
無論哪種方式,沒有辦法,只有項目的一部分被複制,至少不會與Array.Copy
- 1. 如何將兩個元素之間的所有元素和子元素複製到一個臨時元素中?
- 2. 如果我不知道數組會有多少元素?
- 3. realloc如何知道要複製多少?
- 4. 賦值數組元素複製或引用javascript中的元素?
- 5. 如何在元素被引用時限制複雜類型的元素
- 6. 複製特定數組元素
- 7. 哈希數組元素複製
- 8. 複製數組元素散列
- 9. 複製元素到新數組
- 10. 在排除元素的同時複製數組
- 11. 複製元素的內容
- 12. arraylist複製的元素
- 13. PHP XML複製節點間的元素
- 14. 選擇元素在數組中有更多重複元素C
- 15. PHP,從多維數組複製元素到簡單數組
- 16. 當複選框被選中時,jQuery複製其他div元素
- 17. 如何將元素的高度複製到另一個元素?
- 18. char *數組中的元素被複制到新數組時遭到損壞
- 19. 複製一個元素?
- 20. mootools複製表單元素
- 21. 複製完成Webbrowser元素?
- 22. C++矢量複製元素?
- 23. 複製.csv整數的C程序複製少一個元素,除非元素大小設置爲+1
- 24. 在一個組元素下複製匹配元素
- 25. 如何複製整個html元素?
- 26. 如何複製並提醒子元素
- 27. 如何使用重複元素在多行中組合元素
- 28. 如何知道yii2中分頁模型中有多少元素?
- 29. 複製現有的XML,複製元素並修改
- 30. boost :: hana :: tuple元素訪問的時間複雜度是多少?