(十三)C#编程基础复习——函数/方法详解
特此声明:本教程内容可能有部分参照其他博主的观点或描述,但始终不影响我学习的热情,代码全部自己手工敲打,编辑此教程目的不是为了博取大家眼球,也不是为利益所驱,只是纯属为了方便自己学习,编辑的过程中也让自己加深了对C#各个基础的印象,同时也让自己编码过程更加流畅顺利,最后还能帮助到有需要的人,代码都是自己亲测有效,如有侵权可以联系本人删除。
C#中的函数(也可以称为方法)是一段具有签名(由函数名、参数类型和参数修饰符组成的函数信息)的代码块,可以用来实现特定的功能。一般情况下一个函数由以下几个部分组成:
- 访问权限修饰符:用于指定函数对一个类的可见性;(
public 公开的,公共的,同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。
private 私有的,同一类和结构的代码可以访问该类型和成员。
protected 受保护的,表示可以在当前类的内部以及该类的子类(继承性)中访问
internal 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。
) - 返回值类型:用于指定函数返回值的数据类型;
- 函数名称:用于进行函数调用的唯一名称;
- 参数列表:在调用函数时需要传递给函数的参数,参数列表是可选的,可以为空;
- 函数主体:包含了实现函数功能的若干代码;
一、函数声明
Access_Specifier Return_Type FunctionName(Parameter List)
{
Function_Body
Return_Statement
}
其中,Access_Specifier为访问权限修饰符;Return_Type为返回值类型;FunctionName为函数名称;Parameter List为参数列表;Function_Body为函数主体;Return_Statement为返回语句,用来返回数据。另外需要注意的是,访问权限修饰符、参数列表和返回语句时可选的,可以省略。
二、函数调用
想要调用我们定义好的函数,首先需要将函数所在的类实例化为对象,然后通过对象.函数名()的形式即可调用指定的函数,这里有几点需要注意:
- 若函数在定义时参数列表中定义了若干参数,那么在调用时也应该在函数名后面的括号中填入相应数量的参数,并且与参数列表中的参数类型一一对应。
- 若函数在定义时没有定义参数列表,那么在调用函数时也不需要再函数名后面填入参数;
- 对于有返回值的函数,在调用函数时可以使用一个变量(可选)来接收函数的返回值,变量的类型要与函数返回值的类型相同。
三、没有参数和返回值的函数
C#中,如果函数不需要返回任何内容,则可以在定义函数时使用void来修饰符返回值类型,示例代码如下:
namespace Day3
{
internal class Program
{
static void Main(string[] args)
{
Program obj = new Program();//需要先实例化当前类的对象
obj.Output();//调用定义好的Output函数
Console.ReadKey();
}
/// <summary>
/// 定义一个没有返回值的函数
/// </summary>
public void Output()
{
Console.WriteLine("C#编程");
}
}
}
运行结果:
四、有参数但没有返回值的函数
函数可以接收一个或多个数据作为参数,并在函数内部使用或处理传入的参数,示例代码如下:
namespace Day3
{
internal class Program
{
static void Main(string[] args)
{
string str = "hello world";
Program obj = new Program();//需要先实例化当前类的对象
obj.Output(str);//调用定义好的Output函数,并传参
Console.ReadKey();
}
/// <summary>
/// 定义一个没有返回值的函数,该函数可以接收一个参数
/// </summary>
public void Output(string message)
{
Console.WriteLine(message);
}
}
}
运行结果:
五、有参数且有返回值的函数
一个函数可以具有零个或任意数量的参数,也可以返回指定的数据,在下面的示例中,将创建一个包含一个参数的函数,在函数中将传入的字符串拼接成一个新的字符串,并将新的字符串返回。
namespace Day3
{
internal class Program
{
static void Main(string[] args)
{
Program obj = new Program();//实例化当前类的对象;
string msg = obj.Output("hello world");//调用定义好的output函数,将字符串传递给函数,并使用msg接收函数的返回值;
Console.WriteLine(msg);
Console.ReadKey();
}
/// <summary>
/// 定义一个函数,该函数可以接收一个字符串参数,并返回一个字符串
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
public string Output(string message)
{
string str = "欢迎访问" + message;
return str;
}
}
}
运行结果:
六、类中的静态函数
C#中的静态函数指的是,在一个类中使用static修饰的函数,调用静态函数比调用普通函数简单很多,只需要函数名即可:
namespace Day3
{
internal class Program
{
static void Main(string[] args)
{
string msg = Output("hello world");//调用类中的静态函数
Console.WriteLine(msg);
Console.ReadKey();
}
/// <summary>
/// 定义一个函数,该函数可以接收一个字符串参数,并返回一个字符串
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
static string Output(string message)//使用static修饰的静态方法
{
string str = "欢迎访问" + message;
return str;
}
}
}
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了