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

总结

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

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

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

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

相关推荐
q5673152319 分钟前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
许野平44 分钟前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
也无晴也无风雨1 小时前
在JS中, 0 == [0] 吗
开发语言·javascript
狂奔solar1 小时前
yelp数据集上识别潜在的热门商家
开发语言·python
blammmp2 小时前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧2 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
暗黑起源喵2 小时前
设计模式-工厂设计模式
java·开发语言·设计模式
WaaTong2 小时前
Java反射
java·开发语言·反射
Troc_wangpeng2 小时前
R language 关于二维平面直角坐标系的制作
开发语言·机器学习
努力的家伙是不讨厌的2 小时前
解析json导出csv或者直接入库
开发语言·python·json