C# 如何正确编写此代码

C# 如何正确编写此代码,c#,visual-studio,C#,Visual Studio,c#的新成员。。。我问了这个问题,得到了答案,但我不知道答案应该写在哪里(主要还是在课堂上) 问题: 给定以下类的实例圆: 另外,在本例中,=>的确切含义与编写匿名委托相同 circle.Calculate( delegate (double r) { return 2 * Math.PI * r; } ); 所以,首先要做的事。我不知道您是否熟悉Java或任何其他“通用”编程语言,但如果您想执行这段代码,您必须有一个main方法。您可以在Circle类

c#的新成员。。。我问了这个问题,得到了答案,但我不知道答案应该写在哪里(主要还是在课堂上)

问题: 给定以下类的实例圆:


另外,在本例中,
=>
的确切含义与编写匿名委托相同

circle.Calculate(
    delegate (double r)
    {
        return 2 * Math.PI * r;
    }
);

所以,首先要做的事。我不知道您是否熟悉Java或任何其他“通用”编程语言,但如果您想执行这段代码,您必须有一个main方法。您可以在Circle类中执行此操作,也可以创建一个主类

如果您选择创建另一个类,它将是这样的:

public class MainClass
{
    static void Main(string[] args)
    {
        // your code goes here
    }
}
另外,阅读有关Lambda表达式的内容也很重要(这里=>您要问的是如何获取Lambda表达式的参数并将其应用到函数中。因此,在您的例子中,无论r的值是什么,函数都将返回您提供的r的值的两倍)


希望有帮助

如果您是C#新手,那么在学习lambdas(
=>
)和
Func
之前学习基础知识将对您有所裨益。我了解到,您对它们以及如何使用它们信心不足。如果你有很好的参考资料可以阅读,它会变大如果
Circle
不允许修改,我不知道你怎么会得到一个不为零的结果。我没能在main中的main中正确运行它,所以我感到困惑。。。谢谢你的链接:)
circle.Calculate(
    delegate (double r)
    {
        return 2 * Math.PI * r;
    }
);
public class MainClass
{
    static void Main(string[] args)
    {
        // your code goes here
    }
}