image.png
[public] static 返回值类型 方法名 ([参数列表])
{
方法体;
return;
}

public:访问修饰符,公开的
static:静态的
返回值类型:如果不需要返回值,写void
方法名:Pascal 每个单词的首字母都大写,其余字母小写
参数列表:完成这个方法所必须要提供给这个方法的条件。如果没有参数,小括号也不能省略

方法写好后,如果想要被执行,必须在Main()函数中调用。
调用语法:
类名.方法名([参数]);
*在某些情况下,类名是可以省略的,如果你写的方法跟Main()函数在同一个类中,这个时候,类名可以省略。Console.WriteLine();其中WriteLine方法在Console类中。**

return:1、在方法中返回要返回的值,2、立即结束本次方法。(下例所示,直接跳出Main函数)
image.png

方法 的调用问题:

image.png
(报错)

  1. using System;
  2. namespace _031_方法的调用问题
  3. {
  4. class Program
  5. {
  6. public static int _number = 10;//字段 属于类的字段
  7. static void Main(string[] args)
  8. {
  9. int a = 3;
  10. int res = Test(a);
  11. //Console.WriteLine(_number);
  12. Console.WriteLine(res);
  13. Console.ReadLine();
  14. }
  15. public static int Test(int a )
  16. {
  17. return a = a + 5;
  18. //Console.WriteLine(_number);
  19. }
  20. public static void TestTwo()
  21. {
  22. //Console.WriteLine(_number);
  23. }
  24. }
  25. }
  26. //1.我们在Main()函数中,调用Test()函数,我们管Main()函数称之为调用者,管Test()函数,称之为被调用者。
  27. //如果被调用者想要得到调用者的值
  28. //1)传递参数。
  29. //2) 使用静态字段来模拟全局变量。
  30. //2.如果调用者想要得到被调用者的值
  31. //1)返回值。

1.我们在Main()函数中,调用Test()函数,我们管Main()函数称之为调用者,管Test()函数,称之为被调用者。
如果被调用者想要得到调用者的值
1)传递参数。
2) 使用静态字段来模拟全局变量。
2.如果调用者想要得到被调用者的值
1)返回值。

不管是形参还是实参都是在内存中开辟空间的。
**


方法的练习

  1. using System;
  2. namespace _033_方法的练习
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. #region 1、输入一个数据,如果是数字这返回,否则重新输入
  9. ////输入,如果用户输入的数字则返回,否则提醒用户重新输入
  10. ////while (true)
  11. ////{
  12. //// Console.WriteLine("请输入一个数字:");
  13. //// try
  14. //// {
  15. //// int number = Convert.ToInt32(Console.ReadLine());
  16. //// Console.WriteLine(number);
  17. //// break;
  18. //// }
  19. //// catch
  20. //// {
  21. //// Console.WriteLine("输入有误!!!!请重新输入");
  22. //// }
  23. ////}
  24. //Console.WriteLine("请输入一个数字:");
  25. //string input = Console.ReadLine();
  26. //int number = GetNumber(input);
  27. //Console.WriteLine(number);
  28. //Console.ReadKey();
  29. #endregion
  30. #region 2、只允许用户输入yes或者no,否则重新输入
  31. ////只允许用户输入yes或者no,否则重新输入
  32. //Console.WriteLine("请输入yes or no :");
  33. //string input = Console.ReadLine();
  34. //string result = GetYN(input);
  35. //Console.WriteLine(result);
  36. //Console.ReadKey();
  37. #endregion
  38. #region 3、计算输入数组的和:int Sum(int[] values)
  39. //计算输入数组的和:int Sum(int[] values)
  40. //int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
  41. //int sum = GetSum(nums);
  42. //Console.WriteLine("这个数组的总和为:");
  43. //Console.WriteLine(sum);
  44. //Console.ReadKey();
  45. #endregion
  46. }
  47. /// <summary>
  48. /// 输入一个数据,如果是数字这返回,否则重新输入
  49. /// </summary>
  50. /// <param name="s">用户输入的数据</param>
  51. /// <returns>返回数字</returns>
  52. public static int GetNumber(string s)
  53. {
  54. while (true)
  55. {
  56. try
  57. {
  58. int number = Convert.ToInt32(s);
  59. return number;
  60. }
  61. catch
  62. {
  63. Console.WriteLine("请重新输入");
  64. s = Console.ReadLine();
  65. }
  66. }
  67. }
  68. /// <summary>
  69. /// 只允许用户输入yes或者no,否则重新输入
  70. /// </summary>
  71. /// <param name="s">用户输入的数据</param>
  72. /// <returns>返回yes or no</returns>
  73. public static string GetYN(string s)
  74. {
  75. while (true)
  76. {
  77. //if (s == "yes")
  78. //{
  79. // return "yes";
  80. //}
  81. //else if (s == "no")
  82. //{
  83. // return "no";
  84. //}
  85. if (s == "yes" || s == "no")
  86. {
  87. return s;
  88. }
  89. else
  90. {
  91. Console.WriteLine("只能输入yes or no ,请重新输入:");
  92. s = Console.ReadLine();
  93. }
  94. }
  95. }
  96. /// <summary>
  97. /// 计算一个整型数组的和
  98. /// </summary>
  99. /// <param name="numbers">要求总和的数组</param>
  100. /// <returns>返回这个数组的总和</returns>
  101. public static int GetSum(int[] numbers)
  102. {
  103. int sum = 0;
  104. for (int i = 0; i < numbers.Length; i++)
  105. {
  106. sum += numbers[i];
  107. }
  108. return sum;
  109. }
  110. }
  111. }