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

总结

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

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

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

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

相关推荐
bluebonnet2710 分钟前
【Rust练习】15.match 和 if let
开发语言·后端·rust
yueqingll25 分钟前
020、二级Java选择题综合知识点(持续更新版)
java·开发语言
计算机学姐42 分钟前
基于python+django+vue的在线学习资源推送系统
开发语言·vue.js·python·学习·django·pip·web3.py
A洛1 小时前
Cloudflare Pages 部署 Next.js 应用教程
开发语言·github·nextjs·cloudflare·cloudflarepages
lly2024061 小时前
Rust 函数
开发语言
许野平1 小时前
Rust:深入浅出说一说 Error 类型
java·开发语言·rust·error
jingling5551 小时前
后端开发刷题 | 数字字符串转化成IP地址
java·开发语言·javascript·算法
云边有个稻草人1 小时前
【刷题】Day5--数字在升序数组中出现的次数
开发语言·笔记·算法
王大傻09281 小时前
python selenium 显示等待 + EC
开发语言·python·selenium·自动化
闲人编程1 小时前
Python实现 Socket.IO 的在线游戏场景
开发语言·python·游戏·网络编程·io·socket·异步