C#基础(8)函数

前言

我们先前已经具备了一些自己写小程序的能力,但是依旧还是逃不过大量的代码,那么今天,我们就将学习一个减少我们重复工作量的东西:函数。

在数学中我们知道,函数就是一个固定的公式,会画固定的图。

其实程序中,这也是一个道理,他有固定的步骤,然后会走固定的路线。

C#中的函数是一种可重用的代码块,可以执行特定的操作并返回一个值。函数在C#中被称为方法(method)。

函数在C#中提供了封装和重用代码的功能。通过将相关代码封装在函数中,可以更好地组织代码并提高代码的可读性和可维护性。

概念

函数(方法)本质是一种具有名称的代码块

作用:

  1. 封装代码,便于复用
  2. 抽象行为

写在哪里

class语句块中(类)

struct语句块中(结构体)

基本语法

cs 复制代码
//1      2       3       4       5
static 返回类型 函数名(参数类型 参数名1,参数类型 参数名2...)

1.static

不是必须的,在没有学类和结构体之前必须写

2.返回类型

  1. 引出一个新的关键词,void(表示没有返回值)
  2. 可以写任意类型的变量,14种变量类型+复杂数据类型

3.函数名

使用帕斯卡命名法。

4.参数

参数不是必须有的,可以有0到无数个,也可以是任意变量类型,使用驼峰命名法。

5.当返回类型不为void时,必须通过新关键词return返回对应类型

使用

我们就用例子来解释几个类型,相信你能很快get到函数的用法。

无参无返回值

cs 复制代码
using System;

class Program
{
    static void Main(string[] args)
    {
        // 调用无参无返回值的函数
        PrintHello();
        
        Console.ReadLine();
    }
    
    static void PrintHello()
    {
        Console.WriteLine("Hello, World!");
    }
}
 

有参无返回值

cs 复制代码
using System;

class Program
{
    static void Main(string[] args)
    {
        // 调用有参无返回值的函数
        PrintMessage("Hello, World!");
    }

    // 有参无返回值的函数
    static void PrintMessage(string message)
    {
        Console.WriteLine(message);
    }
}
 

无参有返回值

cs 复制代码
using System;

public class Program
{
    public static void Main(string[] args)
    {
        // 调用函数并打印返回值
        int result = CalculateSquare();
        Console.WriteLine("返回值是: " + result);
    }

    // 定义一个无参有返回值的函数
    public static int CalculateSquare()
    {
        int number = 5;
        int square = number * number;
        return square;
    }
}
 

有参有返回值

cs 复制代码
public int AddNumbers(int num1, int num2)
{
    int sum = num1 + num2;
    return sum;
}
 
using System;

public class Program
{
    public static void Main(string[] args)
    {
        // 调用函数并打印返回值
        int result = AddNumbers(1,2);
        Console.WriteLine("返回值是: " + result);
    }

    // 定义一个有参有返回值的函数
    public int AddNumbers(int num1, int num2)
    {
    int sum = num1 + num2;
    return sum;
    }
}

有参有多返回值函数(暂时不用掌握,因为有关键词out)

cs 复制代码
using System;

class Program
{
    static void Main(string[] args)
    {
        int x = 10;
        int y = 20;
        int sum, difference;

        SumAndDifference(x, y, out sum, out difference);

        Console.WriteLine("Sum: " + sum);
        Console.WriteLine("Difference: " + difference);
    }

    static void SumAndDifference(int a, int b, out int sum, out int difference)
    {
        sum = a + b;
        difference = a - b;
    }
}
 

输出结果

apache 复制代码
Sum: 30
Difference: -10
 

关于return

return可以直接不执行后面的代码,直接返回到函数外部

总结

我们到这里其实就已经学习完了函数相关的知识。

当然,博主这里给出的例子其实都比较简单,在实际应用上,函数会写得更为复杂。

在后续开发中,我们也会和函数打很多交道。

多说无益,请期待我的下一篇博客!

相关推荐
秦禹辰18 分钟前
宝塔面板安装MySQL数据库并通过内网穿透工具实现公网远程访问
开发语言·后端·golang
黄焖鸡能干四碗24 分钟前
智慧教育,智慧校园,智慧安防学校建设解决方案(PPT+WORD)
java·大数据·开发语言·数据库·人工智能
one9961 小时前
WPF应用程序中的异常处理
c#·.net·wpf
一只乔哇噻1 小时前
java后端工程师进修ing(研一版 || day41)
java·开发语言·学习·算法
钮钴禄·爱因斯晨1 小时前
深入剖析LLM:从原理到应用与挑战
开发语言·人工智能
六点半8881 小时前
【C++】C++11 篇二
开发语言·c++
DDDDDDDRDDR1 小时前
C++容器:list
开发语言·c++·stl
Elnaij2 小时前
从C++开始的编程生活(7)——取地址运算符重载、类型转换、static成员和友元
开发语言·c++
almighty272 小时前
C# ObjectListView实现树状文件夹浏览
c#·树状图·objectlistview·c#树状图·文件显示
chen_ever2 小时前
golang之go modules
开发语言·后端·golang