语法:
public : 访问修饰符,公开的,那都可以访问;
static:静态的;
返回值类型:如果不需要返回值,写viod;
方法名:每个单词字母大写;
参数列表:可省略,注意参数前边也必须要带上参数的类型。
[ public ] static 返回值类型 方法名([参数列表])
{
方法体;
}
如:
1、求最大值:
class Hello
{
static void Main()
{
}
public static int GetMax(int a, int b)
{
return a > b ? a : b;
}
}
方法的调用:
类名. 方法名
在某些情况下,类型是可以省略的,方法与Main函数同时在同一个类下,调用方法时,可以省略前边的类
class Hello
{
static void Main()
{
// 参数为:实参
int max = GetMax(1, 2);
Console.WriteLine(max); // 2
Console.Read();
}
// 该参数为:形参
public static int GetMax(int a, int b)
{
return a > b ? a : b;
}
}
补充:
c#引入一个新功能,Lamda箭头(类似es6中的箭头函数,方便理解就叫箭头函数吧)
static void Main(string[] args)
{
int res = Test(1, 2);
Console.WriteLine(res); // 2
Console.Read();
}
public static int Test(int a, int b) => a * b;
小练习:
1、判断是否为闰年:
(能被4整除却不能被100整除,或 能被400整除的年份是闰年)
class Hello
{
static void Main()
{
bool res = getRen(2024);
Console.WriteLine(res);
Console.ReadLine();
}
/// <summary>
/// 判断是否为闰年
/// </summary>
/// <param name="year">要判断的年</param>
/// <returns>返回类型为bool</returns>
public static bool getRen(int year)
{
return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
}
}
一个小技巧:
当我们去调用一个方法时,通常会在方法名之后写括号,表示调用此方法,如果不知道这个方法的返回值,还有传的参数是什么,不妨在方法名之后先写一个左括号,编辑器(vs)会出现一个提示最前边的是该方法的返回值类型,如果该方法有注释,会带着注释的解释,该传什么样类型的参数,一目了然:
2、封装一个用户输入的方法,输入的如果是数字,则返回,如果不是数字,提示用户重新输入:
static void Main()
{
Console.WriteLine("请输入一个数字:");
string value = Console.ReadLine();
int res = IsNumber(value);
}
/// <summary>
/// 判断用户输入的是否为数字
/// </summary>
/// <param name="value">输入的值</param>
/// <returns>如果正确会返回这个值</returns>
public static int IsNumber(string value)
{
while(true)
{
try
{
int res = Convert.ToInt32(value);
return res;
}
catch
{
Console.WriteLine("请重新输入!");
value = Console.ReadLine();
}
}
}
3、查找2个整数中最大的值:
public static int getMax(int a, int b)
{
return a > b ? a : b;
}
4、计算输入数组中值的总和:
/// <summary>
/// 求数组中值的总和
/// </summary>
/// <param name="arr">数组类型</param>
/// <returns>返回数组中值的总和</returns>
public static int GetTotal(int[] arr)
{
int sum = 0;
for(int i = 0; i < arr.Length; i ++)
{
sum += arr[i];
}
return sum;
}