【问题标题】:Can anybody know what to do to with (error CS1525: Unexpected symbol)任何人都可以知道如何处理(错误 CS1525:意外符号)
【发布时间】:2020-04-18 09:05:42
【问题描述】:

我从昨天开始就在与这个问题作斗争,我不知道是什么问题。在我的 MacBook 上,代码运行没有问题。我有 Visual Studio 代码。但是,在https://pl.spoj.com 代码上“复制并粘贴”到 Internet 编译器之后,您就迷上了。编译器是 gmcs 5.20.1 for C#。

代码:https://ideone.com/359Iuw

using System;

public class Test
{
    public static void Main()
    {
        int numberOfTests;
            int[] arrayOfNumbers = new int[100];
            string[] splittedData;
            int firstNumber, secondNumber;
            double wynik;

            // Step 1. Read and upload numbers of repetitions
            numberOfTests = TakeNumberOfTests();
            // Step 2. Calculations
            for (uint i = 0; i < numberOfTests; i++)
            {
                splittedData = PodzielBufor(PobierzBufor(),' ');
                firstNumber = TakeNumber(splittedData,1);
                secondNumber = TakeNumber(splittedData,2);
                wynik = NWW(firstNumber,secondNumber);
                Console.WriteLine("{0}",wynik);
            }


            // All functions 
            int TakeNumberOfTests()
            {
                int ans = Int.Parse(Console.ReadLine());
                return ans;
            }

            int NWD(int a, int b)
            {
                int zmiennaPomocnicza;
                while(b!=0)
                {
                    zmiennaPomocnicza = b;
                    b = a%b;
                    a = zmiennaPomocnicza;
                }
                return a;
            }

            double NWW(int a, int b)
            {
                double result;
                result = (a*b)/NWD(a,b);
                return result;
            }
            string PobierzBufor()
            {
                return Console.ReadLine(); //odczyt danych ze strumienia
            }
            string[] PodzielBufor(string inputData, char character)
            {
                string[] splittedData;
                splittedData = inputData.Split(character);
                return splittedData;
            }
            int TakeNumber(string[] dataArray,int number)
            {
                return Int32.Parse(dataArray[number-1]);
            }
    }
}

谁能给我建议我需要做什么?

【问题讨论】:

  • 编译器似乎不支持 C# 7.0 本地函数。尝试将所有本地函数移到 main 之外(anche 将每个人都更改为静态)

标签: c# visual-studio-code compiler-errors brackets gmcs


【解决方案1】:

您正在使用来自比远程编译器更高版本的 C# 的语言功能。

  1. 找出在线编译器支持的语言版本;如果它不支持本地功能,则可能是 6 或 5(如果它们不明确,您可能需要使用反复试验)
  2. 在项目中设置语言版本;现在您自己的本地编译器会告诉您是否尝试使用不支持的任何内容;在新的(SDK 样式)csproj 中,这是通过 &lt;LangVersion&gt;6&lt;LangVersion&gt; 等(在属性组内的 csproj 中)

【讨论】:

  • 非常感谢!我需要检查一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多