2011-06-14 79 views
0

我的項目列表1和列表2中有2個列表列表。 (都包含9個字符串值,car1,car2,car3等等將陣列列表複製到數組時出現c#錯誤

我也有一個字符串數組,名爲store_numbers,它可以包含52個字符串元素 現在我想將我的值從list1和list2複製到數組 這樣做:?

list1.CopyTo(store_numbers,0); 

我認爲這是正確的方式 我得到錯誤信息

At least one element in the source could not be cast down to the destination array type

任何人誰知道我怎樣才能解決這個

謝謝!

+2

您是否閱讀過此消息?你的類型是錯誤的。 – SLaks 2011-06-14 14:54:51

+0

你確定你的數組列表中的所有東西都是字符串? – jimplode 2011-06-14 14:55:19

+0

錯誤是喊你的數組之間的類型不匹配;你能發佈你的代碼嗎(至少是所有相關數組的定義)? – dolphy 2011-06-14 14:55:49

回答

1

你可能有一些接近這一點:

ArrayList list1 = new ArrayList{"car1",2,"car3","car4","car5", 
           "car6","car7","car8","car9"}; 

string[] store_numbers = new string[] {"10","11","12","13","14","15", 
             "16","17","18"}; 

list1.CopyTo(store_numbers,0); 

以上會拋出以下錯誤:

`At least one element in the source array could not be cast 
    down to the destination array type.` 

沒有在列表1的2號,這就是爲什麼你在錯誤這個案例。改爲List<string>以避免這種情況。

11

您的ArrayList中有一些不是字符串。

最好的修復方法是不要使用ArrayList!自.NET 2.0推出以來,它已經過時了。改爲使用List<string>。然後編譯器會阻止你首先在列表中放入一個非字符串,並且你的副本應該工作正常。

+0

謝謝你的回答!我的數據列表包含「car1」,「car2」等值! – laz 2011-06-14 15:02:20

0

你真的確定arraylist只包含字符串嗎?該錯誤消息指示其中一個數組列表中至少有一個對象不是字符串。如果你在發生問題的地方設置斷點,你應該可以看看數組列表的內容。

此外,您不應該使用ArrayList - 它已被棄用。使用List<String>來獲得類型安全。

+0

感謝您的回答!我的數據列表包含「car1」,「car2」等值! – laz 2011-06-14 15:00:51

0

確保您的ArrayList中的所有項目都具有相同的數據類型。如果沒有,則必須在複製之前將所有項目轉換爲字符串。

相關問題