• C#中的方法


    引言

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

    方法的定义和调用:

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

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

    语法:

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

    {

    方法体

    }

    例如:

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

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

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

    1. class Program
    2. {
    3. static void Main(string[] args)
    4. {
    5. int[] nums = { 1, 2, 3, 4, 44, 5 };
    6. AddArray(nums);//调用函数
    7. }
    8. public static void AddArray(int[] numbers)
    9. {
    10. int sum = 0;
    11. int max = int.MinValue;
    12. int min = int.MaxValue;
    13. for (int i = 0; i < numbers .Length ; i++)
    14. {
    15. sum += numbers[i];
    16. if (numbers[i] > max)
    17. {
    18. max = numbers[i];
    19. }
    20. if (numbers[i] < min)
    21. {
    22. min = numbers[i];
    23. }
    24. }
    25. Console.WriteLine("最大值{0}", max);
    26. Console.WriteLine("最小值{0}", min);
    27. Console.WriteLine("和{0}", sum);
    28. Console.ReadKey();
    29. }
    30. }

    示例: 

          

    注:图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#Java
    方法定义方式使用 method 关键字声明使用 publicprivate 等关键字声明
    参数传递方式默认情况下参数是传值的可以通过 final 关键字实现传递常量引用
    方法重载允许在同一类中定义多个相同名称的方法与 C# 一样支持方法重载
    函数式编程支持支持使用 lambda 表达式进行函数式编程支持使用 Lambda 表达式进行函数式编程
    泛型支持支持泛型类型和泛型方法的定义支持泛型类型和泛型方法的定义
    异常处理使用 try-catch-finally 语句块进行异常处理与 C# 类似,使用 try-catch-finally 语句块进行异常处理
    序列化与反序列化支持使用 DataContractSerializer 和 XmlSerializer 进行序列化和反序列化支持使用 serialization 包进行序列化和反序列化
    方法调用时的引用传递默认情况下是值传递,但可以通过 ref 和 out 关键字实现引用传递默认情况下是引用传递,但可以通过使用 final 关键字实现值传递

     

    总结:

    通过本文的介绍,我们深入了解了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.
  • 相关阅读:
    Memlab,一款分析 JavaScript 堆并查找浏览器和 Node.js 中内存泄漏的开源框架
    行情分析 - - 加密货币市场大盘走势(11.20)
    漆包线工厂云MES解决方案
    LeetCode_二叉树_中等_623.在二叉树中增加一行
    矩阵的分数幂
    顺丰小哥派件装载问题——典型的01背包问题
    【微积分】算法数学基础之微积分
    未来5年,只有这种产品团队才能开启上帝视角【玩转IPD】
    智工教育:公务员知识点积累一
    《痞子衡嵌入式半月刊》 第 31 期
  • 原文地址:https://blog.csdn.net/weixin_45309155/article/details/107935251