函数 返回多个值 同个类型返回数组 不同类型多个值 out参数 在形参后面加上out
int num2 = 2;
static bool isPrime(int num,out int num1)
{
num1 = 1;
return true;
}
isPrime(10,out num2);
Console.WriteLine(num2);

关于out参数的练习题
●编写一个方法来判断用户输入用户名和密码是否正确,返回用户一个登录结果,并且还要单独返回一个登录信息,如果用户名错误,除了返回登录结果之外,还要返回一个”用户名错误”,"密码错误"的提示信息
Console.WriteLine("请输入用户名:")
string name = Console.ReadLine()
Console.WriteLine("请输入密码:")
string password = Console.ReadLine()
string message
static bool isLogin(string name, string password,out string message2)
{
if (name == "admin" && password == "123456")
{
message2 = "登陆成功"
return true
}else if(name== "admin"&& password != "123456")
{
message2 = "密码出错"
}
else if(name != "admin" && password == "123456")
{
message2 = "用户名出错"
}
else
{
message2 = "用户名密码出错"
}
return false
}
isLogin(name, password, out message)
Console.WriteLine(message)
ref 同样还是将函数中的变量的值带出来 不一样的是在函数中不用去赋值

例 递归

解析:青蛙 5个台阶f(n) 1112 1121 1211 1111 122->f(n-1) 2111 211 212->f(n-2)
题解:f(n)=f(n-1)+f(n-2)
Console.WriteLine("请输入台阶数n:");
int n = Convert.ToInt32(Console.ReadLine());
static int Jump(int n)
{
if (n == 1) return 1;
if (n == 2) return 2;
return Jump(n - 1) + Jump(n - 2);
}
Console.Write(Jump(n));

函数能够将n个盘子从xx移到xx

Console.WriteLine("请输入盘子数:");
int n = Convert.ToInt32(Console.ReadLine());
static void hanoi(int n, string start, string middle, string end)
{
if (n == 1)
{
Console.WriteLine("从{0}经过{1}移到{2}", start, middle, end);
return;
}
hanoi(n - 1, start, end, middle);
hanoi(1, start, middle, end);
hanoi(n - 1, middle, start, end);
}
hanoi(n, "A", "B", "C");

常亮 const关键字
const int num = 1
枚举类型enum
提示用户选择-个qq在线状态,分别有OnLine 1,OffLine 2,Busy 3 3种状态,输入对应状态的编号打印出您选择的2qq状态是x(提示:使用switch)
public enum State
{
Online, Offine, Busy
}
}
static void Main(string[] args)
{
Console.WriteLine("请输入状态编号:");
string strNum = Console.ReadLine();
switch (strNum)
{
case "1":
Console.WriteLine(State.Online);
break;
case "2":
Console.WriteLine(State.Online);
break;
case "3":
Console.WriteLine(State.Online);
break;
default:
Console.WriteLine("无状态");
break;
}

public enum Role//遵循大驼峰命名
{
射手 = 10, 坦克, 法师, 刺客, 辅助, 战士//每个枚举的名字都对应一个编号, 从0开始
}
}
static void Main(string[] args)
{
Role role = Role.射手
string strRole = Convert.ToString(role)
Console.WriteLine(strRole + 1)
int intRole = Convert.ToInt32(role)
//字符串转成枚举类型的值
Role role2 = (Role)Enum.Parse(typeof(Role), "1")
Console.WriteLine(role2)
Console.WriteLine(intRole)
if (role2 == Role.战士)
{
Console.WriteLine("防御加持")
}
