Я хочу написать на экране результат, который я получаю после выполнения действий внизу кода.Но я не хочу использовать Console.WriteLine () в функции «IF», я хочу назвать его как значение делегирования, но оно говорит «без знака».(сайт говорит, в основном, код, но мне не нужно больше ничего говорить, поэтому я просто набираю что-то здесь: D)
namespace ConsoleApp5
{
class program
{
delegate int first(int a, int b);
static void Main()
{
first beta;
int result;
Console.Write("insert number A: ");
int.TryParse(Console.ReadLine(), out int a);
if (a == 0)
{
Console.WriteLine("not a number");
Environment.Exit(0);
}
Console.Write("insert number B: ");
int b = int.Parse(Console.ReadLine());
if (a == 0)
{
Console.WriteLine("not a number");
Environment.Exit(0);
}
Console.WriteLine("plus(1) or minus (0)");
int c = int.Parse(Console.ReadLine());
if (c == 1)
{
beta = plus;
result = beta(a, b);
Console.WriteLine(result);
}
else if (c == 0)
{
beta = minus;
result = beta(a, b);
Console.WriteLine(result);
}
beta(); // PROBLEM HERE, I WANT TO WRITE ANSWER FROM THIS
//instead of "Console.WriteLine(result);" inside function
}
private static int plus(int a, int b)
{
return a + b;
}
private static int minus(int a, int b)
{
return a - b;
}
}
}
Пример того, что я имею в виду, я хочу достичь, но немного по-другому.
using System;
namespace consoleApplication4
{
class Program{
Delegate void Message();
static void Main (string[] args)
{
Message mes;
if (DateTime.Now.Hour < 12)
{
mes=GoodMorning;
}
else{
mes=GoodEvening;
}
mes(); //this does what i want here but in code above something is missing
Console.ReadKey();
}
private static void GoodMorning(){
console.WriteLine("Good Morning");
}
Private static void GoodEvening(){
Console.WriteLine("Good Evening");
}}}