【问题标题】:Mono C#: Unexpected SymbolMono C#:意外符号
【发布时间】:2018-11-09 12:08:25
【问题描述】:

这是我在 StackExchange 上的第一个问题。我是一名使用多种编程语言的程序员,所以我有点惭愧我错过了这里可能发生的事情。我在 Xubuntu 18.04 上使用 Mono,每当我尝试编译下面的代码时,它都会抛出一堆关于我声明的变量和 else 关键字的错误。我跟着 YouTube 上的 C# 教程,它让我疯狂地试图找出错误在哪里。这是代码,我根据个人喜好对其进行了一些编辑:

using System;

class A_Better_Way

{
  static void Main(string[] args)

  {
    Console.Write("Enter a number:");

    double num_one = Convert.ToDouble(Console.ReadLine()); //Doubles allow the use of decimals

    Console.Write("Enter \"+\", \"-\", \"/\" or \"*\":");

    string operator = Console.ReadLine();

    Console.Write("Enter another one:");

    double num_two = Convert.ToDouble(Console.ReadLine());

    if(operator == "+" ) //If Statements: Easy as magic. Easy as Jiff.

    {
      Console.WriteLine(num_one + num_two);

    }

    else if(operator == "-")

    {
      Console.WriteLine(num_one - num_two);

    }

    else if(operator == "/")

    {
      Console.WriteLine(num_one / num_two);

    }

    else if(operator == "*")

    {
      Console.WriteLine(num_one * num_two);

    }

    else

    {
      Console.WriteLine("You fail at life.");

    }

    Console.ReadLine();

  }

}

任何帮助将不胜感激。而且,我很高兴来到这里。

【问题讨论】:

  • operator 是保留字。将该变量名重命名为其他名称。
  • 我决定使用@符号,如下所述。我很感激你的回复。 :)

标签: c# mono csc


【解决方案1】:

欢迎来到 SO!

operator 是 C# 中的关键字,因此不能将其用作变量名。 https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/operator

对于未来,请说明您收到的错误消息。它将帮助其他人了解您的问题并给出准确的答案。

【讨论】:

  • 如果确实需要使用保留关键字作为变量名,可以在前面加上@。所以在这里,@operator
  • @spender,谢谢,我不知道这种可能性。但在我看来,可能很少需要。
  • ...在(例如)处理具有保留关键字的 prop 名称的 JSON 时很有用。
  • 谢谢@Miamy!对此,我真的非常感激!我一定会记住这个建议!
  • 其他 cmets 也很有帮助。谢谢大家!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 2015-09-24
  • 2014-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多