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可以直接不执行后面的代码,直接返回到函数外部

总结

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

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

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

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

相关推荐
2201_757830875 小时前
Bean原理篇
java·开发语言
草原上唱山歌5 小时前
推荐学习的C++书籍
开发语言·c++·学习
asdfg12589635 小时前
小程序开发中的JS和Go的对比及用途
开发语言·javascript·golang
FL16238631295 小时前
基于yolo11实现的车辆实时交通流量进出统计与速度测量系统python源码+演示视频
开发语言·python·音视频
华如锦6 小时前
四:从零搭建一个RAG
java·开发语言·人工智能·python·机器学习·spring cloud·计算机视觉
bjzhang756 小时前
Dorisoy.AMS--一款采用C# WinForm框架+SQLite数据库的企业/机构资产管理解决方案
sqlite·c#·资产管理
每天吃饭的羊6 小时前
媒体查询
开发语言·前端·javascript
北海有初拥6 小时前
Python基础语法万字详解
java·开发语言·python
阿里嘎多学长6 小时前
2026-01-02 GitHub 热点项目精选
开发语言·程序员·github·代码托管
天远云服6 小时前
Go语言高并发实战:集成天远手机号码归属地核验API打造高性能风控中台
大数据·开发语言·后端·golang