我正在帮助将VB代码转换为C#。在C#代码中,我有一个错误,说我的一个变量是未分配的。当我右键单击(在Visual Studios 2013中)并单击Go to Definition时,它会将我带到声明,其中明确指定为null。我甚至尝试将它分配给除null之外的其他东西。
这是声明,它被设置为null:
DataSet set5 = new DataSet();
set5 = null;
以下是调用它的地方以及我收到错误的地方:
try
{
wires.grdInser.DataSource = set5.Tables[0];//Being called here
} catch (Exception exception92)
{
ProjectData.SetProjectError(exception92);
Exception exception46 = exception92;
ProjectData.ClearProjectError();
}
这两段代码之间有一堆代码,但我不认为变量被调用的范围是一个问题,因为"转到定义"直接带我到定义。问题可能是因为它在try / catch语句中吗?任何帮助将不胜感激。
答案 0 :(得分:1)
试试这个,只是为了摆脱错误,然后你可以从中找出你需要做的事情:
DataSet set5 = new DataSet();
DataTable x = new DataTable();
set5.Tables.Add(x);
摆脱set5 = null
声明。
现在您的其他功能应该能够看到Tables[0]
。