在C#的语言中,方法相当于其它语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,整个程序是由一个个函数组成的;但是在面向对象的语言里,整个程序是由一个个类组成的。因此在C# 中,方法不能独立存在,它只能属于类或者对象。本文主要介绍C# 类中方法的参数,还包括形式参数和实际参数,及它们之间区别和相关的示例代码。
1、参数(形式参数和实际参数)
数据可以作为参数传递给方法。 参数充当方法内部的变量。
在方法名称后的括号内指定参数。 可以根据需要添加任意数量的参数,只需用逗号分隔即可。
下面的示例使用一个名为fname
的string
作为方法的参数。
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void MyMethod(string lname) { Console.WriteLine(lname + " is very good");; } static void Main(string[] args) { MyMethod("csharp"); MyMethod("java"); MyMethod("python"); Console.ReadKey(); } } }
在上面的示例中:fname
是一个形式参数,简称形参,而,"csharp"
和"python"
是实际参数,简稳称实参。
2、多个参数
可以根据需要定义多个参数:
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static void MyMethod(string lname, int age) { Console.WriteLine(lname + " is very good");; } static void Main(string[] args) { MyMethod("csharp",5); MyMethod("java",8); MyMethod("python",11); Console.ReadKey(); } } }
注意:当使用多个参数时,调用方法传递的参数个数,也就是实参的个数,必须方法的参数的个数相同,也就是与形参的个数相同,并且参数的顺序也要相同。
3、方法返回值(return)
上面的示例中使用的void关键字指示该方法不应返回值。如果要让该方法返回值,则可以使用原始数据类型(例如,int
,char
等)代替void
,然后在方法内使用return
关键字:
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static int MyMethod(int x) { return 5 + x; } static void Main(string[] args) { Console.WriteLine(MyMethod(5)); } } }
下面示例中方法输出两个参数的和:
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static int MyMethod(int x,int y) { return x + y; } static void Main(string[] args) { Console.WriteLine(MyMethod(4,5)); } } }
还可以将方法的返回值直接赋值给变量:
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { static int MyMethod(int x,int y) { return x + y; } static void Main(string[] args) { int z = MyMethod(4,5); Console.WriteLine(z); } } }
4、方法中使用If else条件
在方法中通常使用if else
语句:
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication { class Program { // 使用名为age的整型变量创建checkAge()方法 static void CheckAge(int age) { if (age < 18) { Console.WriteLine("未成年"); } else { Console.WriteLine("你是个成年人了"); } } static void Main(string[] args) { CheckAge(24); } } }
5、形参和实参的区别
1)形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。
2)实参出现在主调函数中,进入被调函数后,实参变量也不能使用。
3)形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
4)形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数.
5)实参:全称为"实际参数"是在调用时传递个该函数的参数.