C#中的方法

2023-09-18 19:07:34

引言

在C#编程语言中,方法是一种封装了一系列可执行代码的重要构建块。通过方法,我们可以将代码逻辑进行模块化和复用,提高代码的可读性和可维护性。本文将深入探讨C#中的方法的定义、参数传递、返回值、重载、递归等方面的知识,并结合实际案例介绍方法的应用。

方法的定义和调用:

1.1 方法是什么:方法是一个包含一组语句的代码块,用于执行特定的操作并可能返回一个值。 1.2 方法的定义格式:[访问修饰符] [返回值类型] 方法名([参数列表])

1.3 方法的调用:通过方法名和参数列表来调用方法,并使用返回值进行处理或执行相应的操作。

语法:

[访问修饰符] static 返回值 方法名([参数列表])---------说明:[ ]中的内同可以写,也可以省略

{

方法体

}

例如:

public static void show() --因为有void,所以此方法没有返回值、没有参数的方法,如果方法的前面加上static,此方法就为静态方法。

计算数组中最大值、最小值和总和,下面的代码就利用了调用函数来做的

需要说明的是,在新建函数的时候,用到了public  static  void……,public一定要小写,如果不小心写成了大写,系统就会报错。

class Program
    {
        static void Main(string[] args)
        {
            int[] nums = { 1, 2, 3, 4, 44, 5 };
            AddArray(nums);//调用函数
        }

        public  static void AddArray(int[] numbers)
        {
            int sum = 0;
            int max = int.MinValue;
            int min = int.MaxValue;

            for (int i = 0; i < numbers .Length ; i++)
            {
                sum += numbers[i];
                if (numbers[i] > max)
                {
                    max = numbers[i];
                }
                if (numbers[i] < min)
                {
                    min = numbers[i];
                }

            }
            Console.WriteLine("最大值{0}", max);
            Console.WriteLine("最小值{0}", min);
            Console.WriteLine("和{0}", sum);
            Console.ReadKey();
        }
    }

示例: 

      

注:图2和图3为一种内容的衔接。 

参数传递:

2.1 值类型参数传递:将数据的副本传递给方法,对参数的修改不会影响原始数据。

2.2 引用类型参数传递:将引用的地址传递给方法,对参数的修改会影响原始数据。

2.3 参数修饰符(ref、out):通过ref修饰符可以将变量按引用方式传递给方法,在方法内部修改后会影响原始数据;而out修饰符则要求在方法内部必须赋值给参数。

返回值

3.1 返回值类型:方法可以有返回值,通过返回值类型指定返回值的数据类型。

3.2 返回值关键字(return):使用return关键字将结果返回给调用者,并终止当前方法的执行。 3.3 无返回值方法:返回值类型可以为void,表示方法没有返回值。

方法重载:

4.1 什么是方法重载:方法名相同,但参数列表不同的多个方法构成方法重载。 4.2 方法重载的作用:提供了更灵活的方法调用方式,并增加了代码的可读性和可维护性。

递归:

5.1 递归的概念:方法调用自身的过程称为递归,可以解决一些需要重复执行且问题规模逐步缩小的情况。

5.2 递归的实现:通过设置递归终止条件和递归调用来实现递归算法。

5.3 递归的注意事项:需要注意递归的终止条件和递归调用的次数,以避免出现无限递归导致程序崩溃。


方法的应用案例:

6.1 数学计算方法:介绍如何使用方法封装常见的数学计算,例如计算平均值、阶乘等。

6.2 字符串处理方法:展示如何使用方法来处理字符串,例如字符串拼接、截取等操作。

6.3 数组操作方法:讲解如何使用方法对数组进行排序、查找等操作。

总结:

通过本文的介绍,我们深入了解了C#中方法的定义、参数传递、返回值、重载和递归等方面的知识。方法作为C#语言中的重要组成部分,可以帮助我们实现代码的模块化、复用和组织,提高程序的可读性和可维护性。同时,通过实际案例的演示,我们也看到了方法在不同场景下的灵活应用。希望本文能够帮助读者更好地理解和运用C#中的方法,提升编程能力和效率。

参考资料:

  1. Microsoft Docs. C# 方法 [引用链接]
  2. Freeman A., Robins J., Bates S. Head First C#: A Learner's Guide to Real-World Programming with C#. O'Reilly Media, Inc. 2013.
更多推荐

dockerfile介绍与使用案例

1.概述dockerfile可以理解为一个制作镜像的脚本,但远没有脚本复杂。他根据某种格式自定义内容,就可以快速创建出需求的镜像。docker容器启动的时候在最上层挂载了一个可写层,比如说我在容器里面创建一个文件,这个文件是存放在可写层的,这时候容器要是销毁了,那么我们对容器的一些写入操作也就没了,我这个文件也会随着容

【c语言】指针和数组笔试题

1.指针和数组笔试题解析一维数组inta[]={1,2,3,4};printf("%d\n",sizeof(a));//a单独放在sizeof内表示求整个数组的字节-----16printf("%d\n",sizeof(a+0));//a不是单独放在sizeof内部,表明是首元素的地址,地址占4/8个字节,32位机器占

gRpc_go_dart-1.编写第一个服务

​通俗的讲下grpc简化掉所有复杂的实现,它要求服务端和客户端之间按照protobuf的规范进行数据交换,所以服务端和客户端都不用关心彼此的代码实现,只关心按照protobuf的形式提供数据为什么是go和dart技术栈,已经是google的形状了同时,go客户端和Flutter间本身通过http协议不好交接数据,用gr

Seata1.5.2解决分布式事务问题

分布式事务–Seata​前面了解到一些分布式事务的解决方案,业内也涌现出不少解决分布式事务的优秀框架,如Atomikos、Seata等,本章来了解使用下Seata。​Seata的前身是Fescar,而后改名Seata,简单可扩展的自治分布式事务框架。Seata为用户提供了AT、TCC、SAGA和XA事务模式(默认使用A

【学习笔记】各类基于决策单调性的dp优化

文章目录对于决策单调性的一般解释关于决策单调性的证明四边形不等式一维dp区间dp一种二维dp一些满足四边形不等式的函数类与图形相结合决策单调性的常见优化手段二分队列二分栈分治类莫队做法SMAWKWQS二分+WQS多解情况满足四边形不等式的序列划分问题的答案凸性以及WQS二分的方案构造WQS外层二分时的边界Tips:斜率

容器【容器介绍、Set接口介绍、 HashSet容器的使用、TreeSet容器的使用】(三)-全面详解(学习总结---从入门到深化)

目录LinkedList容器介绍Set接口介绍HashSet容器的使用通过HashSet存储自定义对象TreeSet容器的使用LinkedList容器介绍LinkedList底层用双向链表实现的存储。特点:查询效率低,增删效率高,线程不安全。双向链表也叫双链表,是链表的一种,它的每个数据节点中都有两个指针,分别指向前一

SOLIDWORKS PDM—数据库的备份计划

SOLIDWORKS产品数据管理(PDM)解决方案可帮助您控制设计数据,并且从本质上改进您的团队就产品开发进行管理和协作的方式。使用SOLIDWORKSPDMProfessional,您的团队能够:1.安全地存储和索引设计数据以实现快速检索;2.打消关于版本控制和数据丢失的顾虑;3.与多个地点的组织内外部的人员就设计进

Docker+jenkinsPipeline运行实现python自动化测试(超详细)

一、实现思路在Linux服务器安装docker创建jenkins容器jenkins中创建pipeline项目根据自动化项目依赖包构建python镜像(构建自动化python环境)运行新的python容器,执行jenkins从仓库中拉下来的自动化项目执行完成之后删除容器二、环境准备Linux服务器一台(我的是CentOS

[Docker精进篇] Docker镜像构建和实践 (三)

前言:Docker镜像构建的作用是将应用程序及其依赖打包到一个可移植、自包含的镜像中,以便在不同环境中快速、可靠地部署和运行应用程序。文章目录Docker镜像构建1️⃣是什么?2️⃣为什么?3️⃣镜像构建一、用现有容器构建新镜像二、Dockerfile构建镜像4️⃣总结这篇文章是我的笔记,旨在带您快速入门上手docke

Docker进阶:Docker Compose(容器编排) 管理多容器应用—实战案例演示

Docker进阶:DockerCompose(容器编排)管理多容器应用—实战案例演示一、DockerCompose简介二、DockerCompose安装三、DockerCompose卸载四、DockerCompose核心概念4.1、一文件原则(docker-compose.yml)4.2、服务(service)4.3、

PostgreSQL快速入门 & 与MySQL语法比较

开篇本文可帮助具有MySQL基础的小伙伴对PostgreSQL做一个快速的入门,通过语法之间的差异对比,降低学习成本,同样都是数据库,正所谓触类旁通。模式的概念模式(Schema)表示数据库中的逻辑容器,用于组织和管理数据库对象,如表、视图、索引等。一个模式可以看作是一组相关对象的命名空间。模式不同于表,它更多地是对数

热文推荐