【发布时间】:2019-08-02 18:44:09
【问题描述】:
我已经建立了一个包含 26 x 26 单元格对象网格的电子表格程序。我设置了一种方法来处理用户输入的公式。例如,用户可以输入 =A1+A2,该方法检查单元格 A1 和 A2 的值并将它们相加。由于某种原因,第二个单元格的值没有分配给数组。
https://pasteboard.co/IqRO23M.png
代码继续其他运算符的 switch case 语句,但这对于这个问题并不重要。
public static void ProcessBasicFormula(Cell selectedCell,Cell[,]
cell,string[] cellsInUse, char operatorInUse)
{
int[] valueOfCell = new int[cellsInUse.Length]; //valueOfCell and
cellInUse have same length
int counter = 0;
double answer = 0.0;
switch(operatorInUse)
{
case ('+'):
for (int i = 0; i < cellsInUse.Length; i++)
{
for (int j = 0; j < cellsInUse.GetLength(0); j++)
{
for (int k = 0; k < cellsInUse.GetLength(0); k++)
{
if (cellsInUse[i] == cell[j, k].CellID)
{
valueOfCell[counter] =Convert.ToInt32(cell[j,k].Text);
counter++;
}
}
}
}
answer = valueOfCell[0] + valueOfCell[1];
break;
我希望将两个单元格的值相加,但相反,我得到的第一个值加了 0。
【问题讨论】: