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

时间:2015-01-16 15:35:11

标签: c# .net delegates

我试图理解为什么这个委托方法在输出中没有值。我认为必须是: 价值是-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);
    }       
}

2 个答案:

答案 0 :(得分:2)

试试这个:

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

(你遗漏了{0},这是告诉Console.WriteLine将第二个参数插入输出的内容。)

答案 1 :(得分:0)

你可以试试这些:

    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));
}