gpt4 book ai didi

c# 我怎样才能结束我的 GOTO 语句并在之后继续

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:20 26 4
gpt4 key购买 nike

我想使用 goto 语句转到我的代码中的某处,但它不会跳过我的部分代码,而是继续阅读。我只需要跳过我不需要的部分......代码:

   int getal1, getal2;
int som,verschil,product,quotient;


Console.WriteLine("first number: ");
Console.ForegroundColor = ConsoleColor.Green;
getal1 = Convert.ToInt32(Console.ReadLine());
Console.ResetColor();
Console.WriteLine("choose operator: -,+,*,/");
if (Console.ReadLine() == "+")
{
goto second;
}
else if (Console.ReadLine() == "-")
{
goto second1;
}

second:
Console.WriteLine("Second number(+): ");
Console.ForegroundColor = ConsoleColor.Green;
getal2 = Convert.ToInt32(Console.ReadLine());
Console.ResetColor();
goto Operat;

Operat: som = getal1 + getal2;
verschil = getal1 - getal2;
product = getal1 * getal2;
quotient = getal1 / getal2;
goto optelling;

second1: Console.WriteLine("Second number(-): ");
Console.ForegroundColor = ConsoleColor.Green;
getal2 = Convert.ToInt32(Console.ReadLine());
Console.ResetColor();
goto Operat1;

Operat1:
som = getal1 + getal2;
verschil = getal1 - getal2;
product = getal1 * getal2;
quotient = getal1 / getal2;
goto verschil;

optelling:
Console.Write("De som van " );
Console.ForegroundColor = ConsoleColor.Green;
Console.Write(getal1.ToString());
Console.ResetColor();
Console.Write(" en " );
Console.ForegroundColor = ConsoleColor.Green;
Console.Write(getal2.ToString());
Console.ResetColor();
Console.Write(" is ");
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(som.ToString());
Console.ResetColor();
goto end;


verschil:
Console.WriteLine("Het verschil van " + getal1.ToString() + " en " + getal2.ToString() + " is " + verschil.ToString());
goto end;

product:
Console.WriteLine("Het product van " + getal1.ToString() + " en " + getal2.ToString() + " is " + product.ToString());
quotient:
Console.WriteLine("Het quotient van " + getal1.ToString() + " en " + getal2.ToString() + " is " + quotient.ToString());

end:
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Press Enter to continue...");
Console.ResetColor();

Console.readkey();

只需复制粘贴此代码并帮助我解决这个问题!!

最佳答案

您的根本问题是您天真地将批处理文件转换为 C#,而不是考虑批处理文件的作用并使用 C# 编写执行相同操作的程序,使用样式和 C# 的约定。

这里的特定问题不是您对 goto 的使用,而是每次您调用 Console.ReadLine读取另一条线。当你说:

    if (Console.ReadLine() == "+")
{
goto second;
}
else if (Console.ReadLine() == "-")
{
goto second1;
}

这意味着“如果当前行不是+,则检查行是否是-”。你是想说

    var line = Console.ReadLine();
if (line == "+")
{
goto second;
}
else if (line == "-")
{
goto second1;
}

而稍后在您的程序中,您正确地调用了 Console.ReadLine 来读取下一行。请记住,每次您在程序中调用Console.ReadLine 时,您都是在指示控制台读取下一行,而不是重新读取阅读当前行。您似乎希望它有时表示一件事,有时又表示另一件事。

关于c# 我怎样才能结束我的 GOTO 语句并在之后继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com