C# 代表们的问题-基本

C# 代表们的问题-基本,c#,C#,好的,我有以下代码:(从我的书中复制) 在MyD1:hello中,输出为: 在TestShow Hello中 InMyD1:世界 现在,我不明白为什么输出的最后一行是“InMyD1”。 因为调用的是f1委托,而不是f 提前感谢。您编写了f1=f 因此,您正在调用您编写的f1=f 因此,您正在调用的ff1正在重新分配f的函数引用。同样,如果您刚刚为其分配了另一个功能,例如: f1 = s => Console.WriteLine("Another function: " + s); 您将获

好的,我有以下代码:(从我的书中复制)

在MyD1:hello中,输出为:

在TestShow Hello中
InMyD1:世界

现在,我不明白为什么输出的最后一行是“InMyD1”。 因为调用的是f1委托,而不是f


提前感谢。

您编写了
f1=f


因此,您正在调用您编写的
f1=f


因此,您正在调用的
f

f1
正在重新分配
f
的函数引用。同样,如果您刚刚为其分配了另一个功能,例如:

f1 = s => Console.WriteLine("Another function: " + s);

您将获得其他输出。

f1
正在重新分配
f
的函数引用。同样,如果您刚刚为其分配了另一个功能,例如:

f1 = s => Console.WriteLine("Another function: " + s);
f1 = f;
您将获得其他输出

f1 = f;
这将f1设置为f,这就是为什么您使用world而不是Hello


这将f1设置为f,这就是为什么您使用world而不是Hello

的原因。通常,同步代码和输出是一个好习惯。您的意思是,您的输出中有
TestShow
,但代码中没有。而且,让代码和输出同步通常是一个好习惯。您的意思是在输出中有
TestShow
,但在代码中没有。