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