実行しようとしているC#プログラムは、車のモデル、製造元、年、およびVIN番号を含むファイルを読み込むことになっています。これらの項目は配列に格納され、VIN番号はコンボボックスに配置され、ユーザーはVINを選択し、対応するモデル、製造元、および年はそれぞれ下のTextBoxに収められます。コンボボックスへの配列項目の追加
私はプログラムを実行すると、私は
エラーSystem.ArgumentNullExceptionを取得します。値はnullにすることはできません。パラメータ名: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値は、実際に私は特定のインデックスに1つのVIN値を示すメッセージボックスをプリントアウトし、配列に入っていることを確認します。
Nullになるアイテムを受け付けない関数に、パラメータitemが渡された時点でエラーが発生しているようです。あなたが提供したコードでそのような呼び出しが表示されません。あなたはエラーが発生したときにはっきりしてください。 Vehicles [j] .VINがnullの場合、あなたのカウントがVehiclesの真の長さを超えているか、Vehicle []の値の一部がNullになるようなVehicleの初期化が間違っていることを意味します。 – Marcus
あなたはあなたの車の配列を作成するコードを入力してください。 –
ようこそスタックオーバーフロー! [ツアー](http://stackoverflow.com/tour)、[ヘルプセンター](http://stackoverflow.com/help)、[良い質問をする方法](http://このサイトがどのように機能するかを確認し、現在および将来の質問を改善するのに役立ち、より良い回答を得るのに役立ちます。 –