所以我做了一个“编程语言”,我可以设置变量,如字符串和整数,我可以将它们打印出来,我正在努力添加它们,这是要添加的代码:
if (line.Contains("%"))
{
string name1 = line.Substring(line.IndexOf('%') + 1).Split('+')[0];
string name2 = line.Substring(line.IndexOf('+') + 1).Split(';')[0];
int value1 = 0;
int value2 = 0;
foreach (KeyValuePair<string, int> kvp in integers)
{
if (name1 == kvp.Key)
{
value1 = kvp.Value;
}
if (name2 == kvp.Key)
{
value2 = kvp.Value;
}
int answer = value1 + value2;
Console.WriteLine(answer);
}
}
这就是代码的工作方式:
&num1=1;
&num2=2;
%num1+num2;
出来的是:
1
3
代码有效,但是它打印了value1的值,我认为它因为变量value2为0而且它加1 + 0然后它设置它然后加1 + 2,但这不会对我来说很有意义,所以我真的不知道它有什么问题。
BTW:&amp;是整数,$是字符串。答案 0 :(得分:3)
这是因为你的Console.WriteLine
在你的内部循环。将其更改为以下问题以解决该问题:
int answer = 0;
foreach (KeyValuePair<string, int> kvp in integers)
{
if (name1 == kvp.Key)
{
value1 = kvp.Value;
}
if (name2 == kvp.Key)
{
value2 = kvp.Value;
}
answer = value1 + value2;
}
Console.WriteLine(answer);