public class SumArr
{
public void sumArray(int[] myArray)
{
int sumNumbers = 0;
int value = 0;
if (sumNumbers >= myArray.Length)
{
Console.WriteLine(myArray[sumNumbers]);
return;
}
else if (sumNumbers < myArray.Length)
{
sumNumbers++;
}
if (value < myArray[sumNumbers])
{
value++;
myArray[sumNumbers] += value;
}
sumArray(myArray);
}
public void Foo(string select, int a = 0)
{
int[] myArray = { 32, 324, 12, 1, 34, 22, 45 };
if (select == "Cумма")
{
//int c = myArray.Sum();
//Console.WriteLine(c);
sumArray(myArray);
}
else if (select == "Вывод")
{
if (a >= myArray.Length)
return;
Console.WriteLine(myArray[a]);
a++;
Foo(select, a);
}
}
}
public class Program
{
private static SumArr _sumArr = new SumArr();
static void Main(string[] args)
{
Console.WriteLine("Введите что хотите сделать с массивом (Сумма || Вывод)");
string? select = Console.ReadLine();
_sumArr.Foo(select);
}
}
Ты использовал статические методы Foo и sumArray, но они не могут быть статичными, а вообще нужно в другие классы static T SumAnything<T>(IList<T> a, int i) where T : INumber<T> => i < 0 ? T.Zero : a[i] + SumAnything(a, i - 1);
static void Main(string[] args)
{
int[] myArray = { 32, 324, 12, 1, 34, 22, 45 };
Console.WriteLine(SumAnything(myArray, myArray.Length - 1));
}