C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析

这篇具有很好参考价值的文章主要介绍了C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C# Methods

方法是一段代码,只有在调用时才会运行。

您可以将数据(称为参数)传递给方法。

方法用于执行某些操作,也被称为函数。

为什么使用方法?为了重用代码:定义一次代码,然后多次使用。

创建一个方法

方法的定义以方法的名称开头,后跟括号()。C#提供了一些预定义的方法,您已经熟悉,例如 Main(),但您也可以创建自己的方法来执行某些操作:

示例:

class Program
{
  static void MyMethod() 
  {
    // 要执行的代码
  }
}

示例解释

  • MyMethod() 是方法的名称。
  • static 表示该方法属于 Program 类而不是 Program 类的对象
  • void 表示该方法没有返回值
  • 注意:在 C# 中,以大写字母开头的命名方法是一种良好的实践,因为它使代码更易于阅读。

调用一个方法

要调用(执行)一个方法,请写上方法的名称,后跟两个括号()和一个分号;

在以下示例中,当调用 MyMethod() 时,它用于打印一个文本(操作):

示例
Main() 中,调用 MyMethod() 方法:

static void MyMethod() 
{
  Console.WriteLine("I just got executed!");
}

static void Main(string[] args)
{
  MyMethod();
}

// 输出 "I just got executed!"

一个方法可以被多次调用:

示例

static void MyMethod() 
{
  Console.WriteLine("I just got executed!");
}

static void Main(string[] args)
{
  MyMethod();
  MyMethod();
  MyMethod();
}

// I just got executed!
// I just got executed!
// I just got executed!

C# Method Parameters

参数和实参

信息可以作为参数传递给方法。参数在方法内部充当变量。

它们在方法名称之后指定,在括号内部。您可以添加任意数量的参数,只需用逗号分隔即可。

以下示例有一个以字符串 fname 为参数的方法。当调用该方法时,我们传递一个名字,该名字在方法内部用于打印全名:

示例:

static void MyMethod(string fname) 
{
  Console.WriteLine(fname + " Refsnes");
}

static void Main(string[] args)
{
  MyMethod("Liam");
  MyMethod("Jenny");
  MyMethod("Anja");
}

// 输出
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes

当将参数传递给方法时,它被称为实参。因此,从上面的示例中可以看出:fname 是一个参数,而 LiamJennyAnja 是实参。

多个参数

您可以有任意数量的参数,只需用逗号分隔即可:

示例

static void MyMethod(string fname, int age) 
{
  Console.WriteLine(fname + " is " + age);
}

static void Main(string[] args)
{
  MyMethod("Liam", 5);
  MyMethod("Jenny", 8);
  MyMethod("Anja", 31);
}

// 输出
// Liam is 5
// Jenny is 8
// Anja is 31

C# Default Parameter Value

默认参数值

您还可以使用默认参数值,通过使用等号(=)。

如果我们调用该方法而没有提供实参,则它将使用默认值("Norway"):

示例:

static void MyMethod(string country = "Norway") 
{
  Console.WriteLine(country);
}

static void Main(string[] args)
{
  MyMethod("Sweden");
  MyMethod("India");
  MyMethod();
  MyMethod("USA");
}

// 输出
// Sweden
// India
// Norway
// USA

带有默认值的参数通常被称为"可选参数"。从上面的示例中,country 是一个可选参数,"Norway" 是默认值。

C# Return Values

返回值

在前一页中,我们在所有示例中使用了 void 关键字,该关键字表示该方法不应返回任何值。

如果您希望方法返回一个值,可以使用基本数据类型(如 intdouble)而不是 void,并在方法内部使用 return 关键字:

示例:

static int MyMethod(int x) 
{
  return 5 + x;
}

static void Main(string[] args)
{
  Console.WriteLine(MyMethod(3));
}

// 输出 8 (5 + 3)

此示例返回方法两个参数的和:

示例

static int MyMethod(int x, int y) 
{
  return x + y;
}

static void Main(string[] args)
{
  Console.WriteLine(MyMethod(5, 3));
}

// 输出 8 (5 + 3)

您还可以将结果存储在变量中(建议使用,因为这样更易于阅读和维护):

示例

static int MyMethod(int x, int y) 
{
  return x + y;
}

static void Main(string[] args)
{
  int z = MyMethod(5, 3);
  Console.WriteLine(z);
}

// 输出 8 (5 + 3)

C# Named Arguments

也可以使用键:值语法发送参数。

这样,参数的顺序就不重要了:

示例:

static void MyMethod(string child1, string child2, string child3) 
{
  Console.WriteLine("The youngest child is: " + child3);
}

static void Main(string[] args)
{
  MyMethod(child3: "John", child1: "Liam", child2: "Liam");
}

// 输出 The youngest child is: John

C# Method Overloading

通过方法重载,多个方法可以具有相同的名称但具有不同的参数:

示例:

int MyMethod(int x)
float MyMethod(float x)
double MyMethod(double x, double y)

考虑以下示例,其中有两个添加不同类型数字的方法:

示例

static int PlusMethodInt(int x, int y)
{
  return x + y;
}

static double PlusMethodDouble(double x, double y)
{
  return x + y;
}

static void Main(string[] args)
{
  int myNum1 = PlusMethodInt(8, 5);
  double myNum2 = PlusMethodDouble(4.3, 6.26);
  Console.WriteLine("Int: " + myNum1);
  Console.WriteLine("Double: " + myNum2);
}

与定义两个应该执行相同操作的方法相比,最好重载一个方法。

在下面的示例中,我们对 PlusMethod 方法进行了重载,使其适用于 int 和 double:

示例

static int PlusMethod(int x, int y)
{
  return x + y;
}

static double PlusMethod(double x, double y)
{
  return x + y;
}

static void Main(string[] args)
{
  int myNum1 = PlusMethod(8, 5);
  double myNum2 = PlusMethod(4.3, 6.26);
  Console.WriteLine("Int: " + myNum1);
  Console.WriteLine("Double: " + myNum2);
}

注意:只要参数的数量和/或类型不同,多个方法可以具有相同的名称。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注文章来源地址https://www.toymoban.com/news/detail-821842.html

到了这里,关于C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ 类方法解析:内外定义、参数、访问控制与静态方法详解

    类方法,也称为成员函数,是属于类的函数。它们用于操作或查询类数据,并封装在类定义中。类方法可以分为两种类型: 类内定义方法: 直接在类定义内部声明和定义方法。 类外定义方法: 在类定义内部声明方法,并在类外部单独定义方法。 在类定义内部可以直接声明和定

    2024年04月22日
    浏览(38)
  • 关于MyBatisPlus框架下出现xml里面定义的方法无法被正确识别以及提示调用mysql存储过程时参数无效的问题

    网上很多解决方法都是查看函数名是否一致、命名空间等,但还有一种可能是你调用接口的模块本身的resource文件夹下就有一个含有xml的mapper文件夹,而这个文件夹里面不含有方法A的sql实现,如下图: 导致程序只在这个mapper里面找A的sql实现,那肯定会提示没有找到。 除了检

    2024年02月09日
    浏览(49)
  • 详解织梦模板DEDECMS搜索结果调用自定义字段的方法

    在搜索页调用自定义字段,使其可有让用户搜索这个自定义字段,找了好多文章和教程,却发现dedecms的标签底层模板字段不包括这个字段呢?这就大大限制了灵活性,但也不可能让所有字段都允许调用的,那样就会大大降低系统效率,所以今天分享的是一个比较完美解决这个

    2024年02月02日
    浏览(56)
  • C#通过请求url调用接口返回数据

     方法描述:通过请求url,调用对方系统的接口,拿到数据并返回; 方法参数:访问系统的url地址 url请求参数:searchDate(当前请求的年月:2023-7),需进行url编码

    2024年02月15日
    浏览(48)
  • [远程Call]32位远程多参数带返回调用

    引子 在Windows上可以使用CreateRemoteThread实现远程Call,但是有不带返回值且只能传递一个参数的限制。 解决思路 将多个参数利用VirtualAllocEx和WriteProcessMemory写入目标程序,再通过此方法注入一段shellcode,通过shellcode完成多参数的调用。 核心shellcode 实现c++代码 实现缺陷 目前只

    2024年02月11日
    浏览(28)
  • C 语言函数完全指南:创建、调用、参数传递、返回值解析

    函数是一段代码块,只有在被调用时才会运行。 您可以将数据(称为参数)传递给函数。 函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。 事实证明,您已经知道什么是函数了 例如, main() 是一个函数,用于执行代码, printf() 也是一个函数,

    2024年02月03日
    浏览(53)
  • unity的C#学习——命名空间的定义与访问、using语句的常见用法

    在C#中,命名空间(Namespace)是一种 将类和其他相关类型组织在一起的方式 。可以将命名空间看作是一个容器,用于管理和组织类和其他类型。通过将相关的类型组织在一起,可以使代码更加清晰和易于维护。 命名空间的主要目的是为了避免名称冲突,使得开发人员可以 使

    2024年02月11日
    浏览(53)
  • API Monitor简易使用教程 监控Windows dll调用 监控Windows API调用 查看函数名,参数类型,参数,返回值

    1、API Filter窗口:选定要监听的dll函数或windows API,可以打断点 选中并右键勾上Breakpoint 选 Before Call 2、Monitor New Process 窗口 :选择要运行的exe 3、Summary窗口:会列出所有调用的函数。点函数,查看函数名,参数类型,参数,返回值等。还能设断点。 当调用到断点的函数调用时

    2024年01月21日
    浏览(47)
  • Java调用参数为xml格式的接口,分析转换返回结果

    最近第一次接触到xml格式的接口,以下是自己编写的经验,铁汁们可以参考自己的项目自行修改。 完整代码已附在文章末尾,如有缺陷,欢迎评论区或私信交流。 首先向接口提供方申请了接口文档,包含了接口地址和参数信息,先使用postman工具调用接口,分析参数和返回值

    2024年02月10日
    浏览(44)
  • 【Linux】详解环境变量与命名行参数

    提出问题:  我写的可执行程序,与系统的可执行程序都是可执行程序,那么为什么执行系统的可执行程序不需要带 (./)就能直接运行,而我自己写的可执行程序需要带(./)才能运行。  我想要我的可执行程序也像指令一样,不需要带(./)也能直接运行,前提是我们要

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包