为什么委托方法显示没有输入值?

Why delegate method shows no input value?

我试图理解为什么这个委托方法在输出中没有任何价值。我认为它必须是: 值为 - 5 值为 - 5

但结果是: 价值是 - 值为 -

为什么这个例子中没有数字“5”?

    class Program
{
    internal delegate void Feedback(Int32 value);
    static void Main(string[] args)
    {
        Feedback fbChain = null;
        Feedback delFeedback = new Feedback(Print);

        fbChain += delFeedback;
        fbChain += delFeedback;

        fbChain.Invoke(5);
    }

    internal static void Print(Int32 value)
    {
        Console.WriteLine("Value is - ", value);
    }       
}

试试这个:

internal static void Print(Int32 value)
{
    Console.WriteLine("Value is - {0}", value);
}

(您遗漏了 {0},这告诉 Console.WriteLine 将第二个参数插入到输出中。)

你可以试试这些:

    internal static void Print(Int32 value)
{
    Console.WriteLine("Value is - " + value);
}

internal static void Print(Int32 value)
{

    Console.WriteLine(string.Format("Value is - {0}", value));
}