【问题标题】:How to assign foreach value to variable如何将foreach值分配给变量
【发布时间】:2021-03-10 23:27:37
【问题描述】:

我正在尝试通过在 1 行中输入操作来构建计算器。当我尝试拆分输入并使用 foreach 循环时卡住了

string input = "28 + 2";
        string[] array = input.Split();
        foreach(string value in array)
        {
            // trying to assign the first value of foreach to 'num1'
            int num1 = [0];
        }

我需要的是如何将第一个和第三个值分配给一个变量,以便我可以使用它来构建计算器 但是,我认为我使用了错误的方式来分配它

注意:拆分功能正在运行。如果我这样做:

string input = "28 + 2";
string[] array = input.Split();
        foreach(string value in array)
        {
            Console.WriteLine(value);
        }

我得到输出28, +, 2 我将使用此函数不仅将两个数字相加,而且将它们相除、相乘和相减。所以我在这里需要的答案是如何将拆分值实际分配给不拆分字符串的变量

【问题讨论】:

  • 您应该尝试使用空格分割字符串,例如input.Split(' ');
  • @Aethershaven 拆分字符串很好,当我执行“Console.WriteLine(value)”时,我将值打印到控制台,但不知道如何将这些值分配给变量

标签: c# foreach split calculator


【解决方案1】:

如果你只处理两个数字,你甚至不需要循环,你可以这样做:

string input = "28 + 2";
string[] array = input.Split();
int num1 = int.Parse(array[0]);
int num2 = int.Parse(array[2]);

【讨论】:

  • 我收到错误cant convert from 'int' to 'string'
  • 你确定你写对了吗?我已经在自己的控制台应用程序中对其进行了测试,效果很好。
  • 好吧,我的错,我试着打印像Console.WriteLine(num1, num2)这样的值谢谢你的帮助!效果很好!
【解决方案2】:
string input = "28 + 2";
string[] array = input.Split('+');
foreach(string value in array)
{
    int num1 = int.Parse(value);
}

【讨论】:

  • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助、质量更好,并且更有可能吸引投票。
猜你喜欢
  • 1970-01-01
  • 2021-09-17
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
相关资源
最近更新 更多