我在我的 .Net 3.5 应用程序中使用 DataTable 来存储 1 列,其中一些记录包含文件名。
这是关于如何以及在何处初始化 DataTable 的代码:
public partial class MainForm : Form
{
DataTable memTable_CurrentTransfers = new DataTable();
private void MainForm_Load(object sender, EventArgs e)
{
memTable_CurrentTransfers.Columns.Add("fileName", typeof (string));
以下是我在应用程序的另一种方法中将文件名添加到 DataTable 的方法:
memTable_CurrentTransfers.Rows.Add(fileName);
每 30 分钟,我启动一个执行此代码的线程:
public void CheckUploads()
{
DataView view2 = memTable_CurrentTransfers.DefaultView;
for (int i = 0; i < view2.Count; i++)
{
string tmpString = view2[i][0].ToString();
一切正常,但在我的应用程序运行一段时间后,我的用户开始在 CheckUploads() 方法中收到此错误
字典中不存在给定的键。在 System.ThrowHelper.ThrowKeyNotFoundException() 在 System.Collections.Generic.Dictionary`2.get_Item(TKey key) 在 System.Data.DataView.get_Item(Int32 recordIndex)
我认为我的专栏正在从我的 DataTable 中消失。
谁能告诉我为什么会发生这种情况以及如何阻止这种情况发生?是否有另一种方法我应该初始化我的 DataTable 以便它可以从我的应用程序内的所有方法中使用?