Справка с кодом C# появляется постоянная ошибка nthnumber
Я пытаюсь сделать многопоточную программу серии Fibonnaci. Я продолжаю получать ошибки в части nthNumber кода. Я не знаю, как это исправить, я пробовал несколько разных вещей, и ничто на самом деле не избавило меня от ошибки.
{ public class Worker { private readonly int nthNumber; public Worker(int nthNumber) => this.nthNumber = nthNumber; public void Calculate(object o) { Console.WriteLine("Fibonacci {0} is {1}", nthNumber, Fibonacci(nthNumber)); } internal static int Fibonacci(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return Fibonacci(n - 1) + Fibonacci(n - 2); } } internal static readonly EventWaitHandle AllWorkersCompleted = new EventWaitHandle(false, EventResetMode.AutoReset); private static int numberOfWorkers = 0; private readonly int nthNumber; public Worker() { Interlocked.Increment(ref numberOfWorkers); this.nthNumber = nthNumber; } public void Calculate(object o) { Console.WriteLine("Fibonacci {0} is {1}", nthNumber, Fibonacci(nthNumber)); if (Interlocked.Decrement(ref numberOfWorkers) == 0) { AllWorkersCompleted.Set(); }
Что я уже пробовал:
Я пробовал предложения, данные самой Visual Studio, и ни одно из них не сработало.
F-ES Sitecore
В чем заключается ошибка и на какой линии она возникает?
Hankatoo1618
Любая строка с nthNumber на ней показывает ошибку, которая говорит, что тип Worker уже содержит определение для nthNumber.
Member 12901943
Дело не просто в том, что у вас есть nthNumber, определенный дважды "private readonly int nthNumber;" - первая строка рабочего класса, а затем снова после AllWorkersCompleted defintion?
Hankatoo1618
да