我試圖運行的C#程序應該讀取包含汽車模型,製造商,年份和VIN號碼的文件。將這些項目放入數組中,然後將VIN編號放入組合框,以便用戶選擇VIN,並在相應的文本框中分別顯示相應的型號,製造商和年份。將數組項添加到組合框
當我運行該程序,我得到
錯誤System.ArgumentNullException:值不能爲空。參數名稱:item。
這是我的代碼塊發生問題的塊。
StreamReader inputFile;
int i = 0, count=Vehicles.Length;
if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
inputFile = File.OpenText(openFile.FileName);
while (!inputFile.EndOfStream)
{
Vehicles[i].Model = inputFile.ReadLine();
Vehicles[i].Manufacturer = inputFile.ReadLine();
Vehicles[i].Year = inputFile.ReadLine();
Vehicles[i].VIN = inputFile.ReadLine();
i++;
for (int j = 0; j < count; j++)
{
vinCBox.Items.Add(Vehicles[j].VIN);
}
}
爲了確保VIN值實際上進入陣列,我打印出一個MessageBox,在某個索引處顯示一個VIN值。
錯誤似乎發生在參數「item」被傳遞給某個不接受item爲空的函數的時候。我沒有在代碼中看到你提供的這種調用。你能否在發生錯誤時請清楚。 在我看來,像Vehicle [j] .VIN爲null,這意味着您的計數超過了車輛的真實長度,或者車輛的初始化出現問題,因此Vehicles []的某些值爲空。 – Marcus
您可以提供代碼,在哪裏創建您的車輛陣列。 –
歡迎來到Stack Overflow!請通過[tour](http://stackoverflow.com/tour),[幫助中心](http://stackoverflow.com/help)和[如何提出一個好問題](http:// stackoverflow.com/help/how-to-ask)章節,瞭解本網站的工作原理,並幫助您改善當前和未來的問題,從而幫助您獲得更好的答案。 –