方法不同
本文关键字:方法 | 更新日期: 2023-09-27 18:26:38
我是C#的新手,我正在努力理解在方法中传递参数和不传递参数的区别。
我想我有点理解。如果你通过一场辩论,会是这样吗。
int numA = 4;
int productA = squar(numA);
我只是不明白如何有一个不传递参数的方法。
您的问题不是很清楚,C#有一些"高级"功能可以发挥作用,但在简单的C#中,当您调用一个方法时,每个参数(在调用代码中)都必须与方法声明中的参数相对应。您可以用几个参数声明方法,只有一个或没有:
public void Foo() // No parameters
{
Console.WriteLine("Foo!");
}
public void Bar(int x) // One parameter
{
Console.WriteLine("Bar!");
}
public void Baz(int x, string y) // Two parameters
{
Console.WriteLine("Baz!");
}
然后给他们打电话:
Foo(); // No arguments
Bar(10); // One argument
Baz(20, "second"); // Two arguments
参数的类型必须与相应方法声明中的参数类型兼容。
如果您想使用带参数和不带参数的相同方法,您必须为此编写方法重载。它不是c的概念,而是面向对象编程的一部分。
public string Test() // No parameters
{
return "test method";
}
public string Test(string testParam) // with parameters
{
return "test method with parameter " + testParam;
}
所以你可以打电话给
Test();
Test("string parameter");
结果,
test method
test method with parameter string parameter
如果您使用的是C#4.0及更高版本,则有一个称为可选参数的新功能。
假设你有一个类似的方法签名
static void Method(int value = 1, string name = "Perl")
{
Console.WriteLine("value = {0}, name = {1}", value, name);
}
Method(); //prints 1, Perl
Method(4);//prints 4, perl
Method("Dot"); // prints 1, Dot
Method(4, "Dot"); //prints 4, Dot