エラーは次のとおりです。インデックスが範囲外でした。負ではなく、コレクションのサイズよりも小さい必要があります。
シナリオ:XMLファイルをロードしてデータをグリッドに表示するデスクトップアプリケーションがあります。次に、別のファイルを挿入し、両方のファイルにデータを追加します。しかし、データをマージしようとすると(つまり、以前に開いたファイルの行があるDataTableに行を追加することを意味します)...このエラーが発生します。
if (strPreviousFile != "")
{
dgvBooksDetails.DataSource = dtBooks;
int intCurrentRows = dgvBooksDetails.Rows.Count;
intBooksCounter = intBooksCounter + intCurrentRows;
for (int c = intCurrentRows; c < intBooksCounter; c++)
{
Book objBook = new Book();
objBook.ID = BookID[c];
objBook.Title = BookTitle[c];
objBook.Author = BookAuthor[c];
objBook.Genre = BookGenre[c];
objBook.Price = Double.Parse(BookPrice[c]);
objBook.PublishDate = DateTime.Parse(BookPublish_Date[c]);
objBook.Description = BookDescription[c];
dtBooks.Rows.Add(objBook.ID, objBook.Title, objBook.Author, objBook.Genre,
objBook.Price, objBook.PublishDate, objBook.Description);
}
}
このエラーをどのように克服できますか?