初识C#(四)- 函数或方法

news/2024/9/28 23:16:57/

函数就是一个外挂的方法,以便我们自己自定义某个功能

文章目录

  • 前言
  • 一、函数的使用
    • 1.1 函数的定义和使用
    • 1.2 函数参数分为(形参和实参)
    • 1.3 函数的返回值
  • 二、函数的递归
    • 2.1 调用自身的函数就是递归函数
  • 三、枚举类型
    • 3.1 枚举类型的声明与赋值
  • 总结


前言

本篇笔记重点描述C#中如何使用函数。


一、函数的使用

1.1 函数的定义和使用

函数的定义就像我们建房子,画好了一个蓝图,使用就等于对着这个蓝图去建地基

internal class Program
{static int Add(int a,int b){int c = a + b;return c;//和break功能有点相似,因为方法返回之后,表示这个方法中止了Console.WriteLine("123");//这个代码相当于是没有用的}//主函数 入口函数  --- 主方法 入口方法private static void Main(string[] args){int a = Add(10, 10);Console.WriteLine(a);}
}

1.2 函数参数分为(形参和实参)

形参是指形式参数,是一个变量,一般跟在创建函数()里面。实参是指在主函数(方法)里面的传递过去的实际参数。

internal class Program
{//方法的定义   //bool(返回值)             //形参  形式参数(也是一个变量)static bool VerifyUsername(string username)//void,空(不需要返回值的意思){Console.WriteLine("校验逻辑修改");Console.WriteLine("校验逻辑修改2");Console.WriteLine("校验用户名");return true;//返回值,返回的值的类型要和返回值的类型保持一致}//主函数 入口函数  --- 主方法 入口方法private static void Main(string[] args){//100-50//方法的调用//某个字符串    实参 实际参数bool result = VerifyUsername("siki");//得到返回值,这个返回值可以得到也可以不得到Console.WriteLine(result);VerifyUsername("aabb");VerifyUsername("my");}
}

1.3 函数的返回值

这里我们用回1.1的代码解释,返回值就是return,即返回数值到上级。而且return和break功能有点相似,在方法返回后,就表示这个方法中止了。

internal class Program
{static int Add(int a,int b){int c = a + b;return c;//和break功能有点相似,因为方法返回之后,表示这个方法中止了Console.WriteLine("123");//这个代码相当于是没有用的}//主函数 入口函数  --- 主方法 入口方法private static void Main(string[] args){int a = Add(10, 10);Console.WriteLine(a);}
}

二、函数的递归

2.1 调用自身的函数就是递归函数

递归函数和循环有点类似,但是逻辑上却有一些不同。但是递归函数在代码书写上和观赏性来说比循环要舒服一些。

internal class Program
{static void Test(){Console.WriteLine("test1");Test();}//死递归,因为没有return返回终止static int F(int n){if (n == 0){return 2;}if (n == 1){return 3;}int res = F(n - 1) + F(n - 2);return res;}private static void Main(string[] args){fn = fn1 +fn2 f0=2 f1=3//int n1 = 3;//f1 //int n2 = 2;//f0//int n = 0;//for (int i = 2; i < 41; i++)//2遍历到40//{//    n = n1 + n2;//    n2 = n1;//    n1 = n;//}Console.WriteLine(F(40));}
}

三、枚举类型

3.1 枚举类型的声明与赋值

internal class Program
{enum RoleType//枚举类型的名字 RoleType 角色类型 {mage,Archer,Assassin,Tank,Support,Warrior //枚举类型的值}private static void Main(string[] args){//函数 - 定义 使用//1法师(mage),2射手(Archer),3刺客(Assassin),4坦克(Tank),5辅助(Support),6战士(Warrior)//int roleType = 4;//roleType = 3;//int long string是系统提供好的类型,这个RoleType是我们自己新创建的枚举类型//RoleType roleType = RoleType.Assassin;//if(roleType == RoleType.Assassin)//{//}GameState gameState = GameState.Menu;gameState = GameState.Running;if(gameState == GameState.Menu) { }Console.WriteLine(gameState);WeekDay day = WeekDay.Wed;day = WeekDay.tue;}//菜单、游戏中、暂停、失败、成功enum GameState//枚举的变量名名字一般首字母大写{Menu,Running,Pause,Fail,Success}enum WeekDay//枚举类型本质上是int类型,只是为了更方便阅读{Sun=10, Mon, tue, Wed, thu, Fri, Sat//把第一个值改成10,后面的值会递增1//每一个值都可以修改}
}

总结

函数和方法就是自己自定义一个方法方便在Main函数里实现某个功能。枚举类型就是自己创建一个类型并把我们想要放入的变量放在里面,方便后续使用。


http://www.ppmy.cn/news/1531651.html

相关文章

时间序列分析算法

目录 1.背景介绍及应用2.时间序列核心概念与联系3.核心算法原理、步骤、数学模型公式详解3.1直接方法3.1.1 移动平均3.1.2 累计和 3.2 差分方法3.2.1 首差3.2.2 二差 3.3指数方法3.3.1 指数移动平均3.3.2指数差分 4.时间序列优缺点5.说明5.1时间序列分析与其他预测方法的区别在…

短视频矩阵管理系统贴牌 源码开发

抖音账号矩阵的开发核心维度包括&#xff1a; 多账号管理开发维度&#xff1a;通过运用不同类型的账号矩阵&#xff0c;可以实现统一且便捷的管理。目前&#xff0c;矩阵系统支持管理抖音、快手、视频号,b站的账号&#xff0c;未来计划加入小红书,tk等等的账号管理。 矩阵账号…

HTML|基础|创建一个猫咪信息表单的最佳实践指南

创建一个猫咪信息表单的最佳实践指南 本文将指导你如何创建一个简单而有效的猫咪信息表单。我们将通过 HTML 代码的实例&#xff0c;介绍关键元素和最佳实践&#xff0c;确保表单既易于使用又符合标准。 0. 代码全貌 <!DOCTYPE html> <html lang"en">&…

React 有哪些生命周期

React组件的生命周期可以分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。每个阶段都伴随着特定的生命周期方法,允许开发者在组件的不同阶段执行代码。以下是React生命周期的详细概述: 一、挂载阶段(Mounting) constructor(props): 组件的构造…

opencv:实现图像的自动裁剪与优化

随着计算机视觉技术的发展&#xff0c;图像处理已成为一项重要的技能。今天&#xff0c;我们将探讨如何使用Python中的OpenCV库来实现对图像的自动裁剪以及一些基本的图像优化技巧。我们的目标是对一张发票图片进行处理&#xff0c;使其更加清晰且便于阅读。 准备工作 首先&a…

vue3自动暴露element-plus组件的ref

自动暴露子组件的方法&#xff0c;注意在TS下&#xff0c;需要自己声明类型&#xff0c;我这里全用any代替了 <template><el-button click"getFocus">获得焦点</el-button><com ref"comRef" /> </template><script setup…

cobaltstrike之execute-assembly内存加载—后渗透利用

通过execute-assembly内存加载来执行文件&#xff0c;从而避免后渗透中被杀毒软件静态报毒&#xff0c;使更多的工具能够继续利用&#xff0c;常见的方式有权限维持&#xff0c;代理上线等操作 远程bin文件加载 首先尝试远程加载bin文件 使用项目https://github.com/shanekha…

React 启动时webpack版本冲突报错

报错信息&#xff1a; 解决办法&#xff1a; 找到全局webpack的安装路径并cmd 删除全局webpack 安装所需要的版本