📄 form1.cs
字号:
{
resultArr[wordCount,0] = inText.Substring(start, end - start);
wordCount++;
end++;
}
else if (inText.Substring(end, 1).Equals(" "))//判断当前字符是否为空格
{
if (!inText.Substring(end - 1, 1).Equals(" "))//判断前一个字符是否为空格,如不是,则将当前start到end的字符存入数组
{
resultArr[wordCount,0] = inText.Substring(start, end - start);
wordCount++;
end++;
start = end;
continue;
}
else//如前一个字符也为空格,将end+1,start指向end
{
end++;
start = end;
continue;
}
}
else if (end == start)//如果end和start位置相同
{
if (end < inText.Length - 1)//判断当前end位置是否已经是在倒数第二个字符,如果不是则按下面处理
{
end++;
if (inText.Substring(end, 1).Equals("="))//判断end后一个字符是否为等号,如是将等号与前一个字符一起存入数组
{
end++;
resultArr[wordCount,0] = inText.Substring(start, end - start);
wordCount++;
start = end;
continue;
}
else if (inText.Substring(end, 1).Equals(" "))//如end后一个字符是空格,将当前字符存入数组,将end与start定位到空格之后
{ //避免当end=start,end指向空格时,由于end前一字符不为空而将空串存入数组
end++;
resultArr[wordCount,0] = inText.Substring(start, end - start - 1);
wordCount++;
start = end;
continue;
}
else//否则则只将当前字符存入数组
{
resultArr[wordCount,0] = inText.Substring(start, 1);
wordCount++;
start = end;
continue;
}
}
else//如果是倒数第二个字符则将最后一个字符存入数组即可
{
resultArr[wordCount,0] = inText.Substring(end, 1);
wordCount++;
end = inText.Length + 1;
}
}
else if (end != start)//将start与end不相等,则将start到end字符存入数组
{
resultArr[wordCount,0] = inText.Substring(start, end-start);
wordCount++;
start=end;
continue;
}
}
}
public void Print()//输出结果
{
for (int i = 0; i < wordCount; i++)
{
dr = dt.NewRow();
dr["Word"] = resultArr[i,0];
dr["Class"] = resultArr[i, 1];
dr["Kind"] = resultArr[i, 2];
dt.Rows.Add(dr);
outText += resultArr[i, 0] + "," + resultArr[i, 1] + "," + resultArr[i, 2] + "\r\n";
}
dataGridView1.DataSource = dt;
}
public void Matching()//匹配数组结果
{
int flag = 0;
for (int i = 0; i < wordCount; i++)
{
flag = 0;
for (int a = 0; a < 13; a++)
{
if (resultArr[i, 0] == pw.primaryword[a, 0])
{
resultArr[i, 1] = "1";
resultArr[i, 2] = pw.primaryword[a, 1];
flag = 1;
break;
}
}
if (flag == 1) continue;
for (int b = 0; b < 7; b++)
{
if (resultArr[i, 0] == dl.delimiter[b, 0])
{
resultArr[i, 1] = "4";
resultArr[i, 2] = dl.delimiter[b, 1];
flag = 1;
break;
}
}
if (flag == 1) continue;
for (int c = 0; c < 10; c++)
{
if (resultArr[i, 0] == op.operato[c, 0])
{
resultArr[i, 1] = "5";
resultArr[i, 2] = op.operato[c, 1];
flag = 1;
break;
}
}
if (flag == 1) continue;
for (int d = 0; d < constCount; d++)
{
if (resultArr[i, 0] == cv.constval[d, 0])
{
resultArr[i, 1] = "2";
resultArr[i, 2] = cv.constval[d, 1];
flag = 1;
break;
}
}
if (flag == 1) continue;
for (int e = 0; e < varCount; e++)
{
if (resultArr[i, 0] == vv.varval[e, 0])
{
resultArr[i, 1] = "3";
resultArr[i, 2] = vv.varval[e, 1];
flag = 1;
break;
}
}
if (flag == 1) continue;
else
{
if ((char.IsLetter(resultArr[i, 0], 0))&(i>0))
{
if (!resultArr[i - 1, 0].Equals("="))
{
resultArr[i, 1] = "3";
resultArr[i, 2] = (varCount + 1).ToString();
vv.varval[varCount, 0] = resultArr[i, 0];
vv.varval[varCount, 1] = (varCount + 1).ToString();
varCount++;
continue;
}
else
{
resultArr[i, 1] = "2";
resultArr[i, 2] = (constCount + 1).ToString();
cv.constval[constCount, 0] = resultArr[i, 0];
cv.constval[constCount, 1] = (constCount + 1).ToString();
constCount++;
continue;
}
}
else if ((char.IsLetter(resultArr[i, 0], 0)) & (i == 0))
{
resultArr[i, 1] = "3";
resultArr[i, 2] = (varCount + 1).ToString();
vv.varval[varCount, 0] = resultArr[i, 0];
vv.varval[varCount, 1] = (varCount + 1).ToString();
varCount++;
continue;
}
else
{
resultArr[i, 1] = "2";
resultArr[i, 2] = (constCount + 1).ToString();
cv.constval[constCount, 0] = resultArr[i, 0];
cv.constval[constCount, 1] = (constCount + 1).ToString();
constCount++;
continue;
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -