C#函数/方法详解
C# 中的函数(也可以称为方法)是一段具有签名(由函数名、参数类型和参数修饰符组成的函数信息)的代码块,可以用来实现特定的功能。一般情况下一个函数由以下几个部分组成:
- 访问权限修饰符:用于指定函数对一个类的可见性;
- 返回值类型:用于指定函数返回值的数据类型;
- 函数名称:用于进行函数调用的唯一名称;
- 参数列表:在调用函数时需要传递给函数的参数,参数列表是可选的,可以为空;
- 函数主体:其中包含了实现函数功能的若干代码。
1、函数声明
C# 中声明函数的语法格式如下所示:
Access_Specifier Return_Type FunctionName(Parameter List)
{
Function_Body
Return_Statement
}
2、函数调用
想要调用我们定义好的函数,首先需要将函数所在的类实例化为对象,然后通过 对象.函数名()
的形式即可调用指定的函数,这里有几点需要注意:- 若函数在定义时参数列表中定义了若干参数,那么在调用时也应该在函数名后面的括号中填入相应数量的参数,并且与参数列表中的参数类型一一对应;
- 若函数在定义时没有定义参数列表,那么在调用函数时也不需要在函数名后面填入参数;
- 对于有返回值的函数,在调用函数时可以使用一个变量(可选)来接收函数的返回值,变量的类型要与函数返回值的类型相同。
提示:若调用同一个类中静态函数(使用 static 修饰的函数),则可以省略实例化对象的过程,直接使用 函数名()
的形式调用。
3、没有参数和返回值的函数
C# 中,如果函数不需要返回任何内容,则可以在定义函数时使用 void 来修饰返回值类型,示例代码如下:using System; namespace c.biancheng.net { class Demo { static void Main(string[] args){ Demo Obj = new Demo(); //实例化当前类的对象 Obj.Output(); //调用定义好的 Output 函数 } /* * 定义一个没有返回值的函数 */ public void Output(){ Console.WriteLine("http://c.biancheng.net/"); } } }运行结果如下:
http://c.biancheng.net/
4、有参数但没有返回值的函数
如前面介绍的那样,函数可以接收一个或多个数据作为参数,并在函数内部使用或处理传入的参数,示例代码如下:using System; namespace c.biancheng.net { class Demo { static void Main(string[] args){ string str = "http://c.biancheng.net/"; Demo Obj = new Demo(); //实例化当前类的对象 Obj.Output(str); //调用定义好的 Output 函数,并将字符串 str 传递给函数 } /* * 定义一个没有返回值的函数,该函数可以接收一个参数 */ public void Output(string message){ Console.WriteLine(message); } } }运行结果如下:
http://c.biancheng.net/
5、有参数且有返回值的函数
一个函数可以具有零个或任意数量的参数,也可以返回指定的数据,在下面的示例中,将创建一个包含一个参数的函数,在函数中将传入的字符串拼接成一个新的字符串,并将新的字符串返回。using System; namespace c.biancheng.net { class Demo { static void Main(string[] args){ Demo Obj = new Demo(); //实例化当前类的对象 //调用定义好的 Output 函数,将字符串传递给函数,并使用 msg 接收函数的返回值 string msg = Obj.Output("http://c.biancheng.net/"); Console.WriteLine(msg); } /* * 定义一个函数,该函数可以接收一个字符串参数, * 并返回一个字符串 */ public string Output(string message){ string str = "欢迎访问:" + message; return str; } } }运行结果如下:
欢迎访问:http://c.biancheng.net/
6、类中的静态函数
C# 中的静态函数指的是,在一个类中使用 static 修饰的函数,调用静态函数比调用普通函数要简单很多,只需要函数名即可:using System; namespace c.biancheng.net { class Demo { static void Main(string[] args){ string msg = Output("http://c.biancheng.net/"); // 调用类中的静态函数 Console.WriteLine(msg); } /* * 定义一个函数,该函数可以接收一个字符串参数, * 并返回一个字符串 */ static string Output(string message){ string str = "欢迎访问:" + message; return str; } } }运行结果如下:
欢迎访问:http://c.biancheng.net/