【发布时间】:2019-12-25 18:21:59
【问题描述】:
我正在为给定的输入创建标记和符号表。但是在将变量处理到符号表中时发生了空引用异常。我已经搜索了互联网,但找不到解决方案。我是CC的新手。特别感谢提供帮助的他/她。下面给出了发生错误的特定函数的代码,请修复它...
for (int r = 1; r <= SymbolTable.GetLength(0);r++)
{
//search in the symbol table if variable entry
// already exists
if (SymbolTable[r, 2].Equals(finalArrayc[x].ToString()))
{
ind = SymbolTable[r, 1];
ty = SymbolTable[r, 3];
val = SymbolTable[r, 4];
lin = SymbolTable[r, 5];
tfTokens.AppendText("<var" + ind + ", " + ind + "> ");
break;
}
}
NullReferenceException 上线:
if (SymbolTable[r, 2].Equals(finalArrayc[x].ToString()))
【问题讨论】:
-
符号表是 DataGridView(还是从 DGV 中提取的)? DGV 可编辑时,视图的最后一行是用于添加新数据的空白行。如果最后一行为空,您可能需要忽略它。你可以消除这条线,这样你就不会得到空值。
标签: c# vb.net compiler-construction