函数就是一个外挂的方法,以便我们自己自定义某个功能
文章目录
- 前言
- 一、函数的使用
- 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函数里实现某个功能。枚举类型就是自己创建一个类型并把我们想要放入的变量放在里面,方便后续使用。