为什么我的变量说它在分配时是未分配的?

时间:2014-11-20 18:43:31

标签: c#-4.0 compiler-errors variable-assignment

我正在帮助将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语句中吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

试试这个,只是为了摆脱错误,然后你可以从中找出你需要做的事情:

DataSet set5 = new DataSet();
DataTable x = new DataTable();
set5.Tables.Add(x);

摆脱set5 = null声明。

现在您的其他功能应该能够看到Tables[0]