代码已编译并成功运行但预期输出为打印“Sub”未打印。这段代码中的错误是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码已编译并成功运行但预期输出为打印“Sub”未打印。这段代码中的错误是什么?相关的知识,希望对你有一定的参考价值。

这段代码有什么问题?

namespace ConsoleApplication1
{
public delegate void del();

class Program
{
    static void Main(string[] args)
    {
        del d = new del(add);
        d += sub;
    }

    public static void add()
    {
        Console.WriteLine("add");
    }

    public static void sub()
    {
        Console.WriteLine("Sub");
    }
  } 
}
答案

您需要调用您的委托:

class Program
{
    static void Main(string[] args)
    {
        del d = new del(add);
        d += sub;

        d.Invoke();
    }

    public static void add()
    {
        Console.WriteLine("add");
    }

    public static void sub()
    {
        Console.WriteLine("Sub");
    }
  } 
}

以上是关于代码已编译并成功运行但预期输出为打印“Sub”未打印。这段代码中的错误是什么?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不传递预期参数但使用它已有的参数的情况下调用 sub?

尽管正确打印出所有输出,但程序未在 Java 中以退出代码 0 结束

Linux 多线程 - 线程不会按预期产生任何输出

我如何在HackerRank上的此算术运算符问题中创建预期的输出?

热键的输出与预期不同

Eclipse IDE 未显示正确的输出