C# 方法的重载 out参数 ref参数 params可变参数 递归

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace _13_方法的重载
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.        //   M()
  13.             Console.WriteLine(1);
  14.             Console.WriteLine(1.4);
  15.             Console.WriteLine(true);
  16.             Console.WriteLine('c');
  17.             Console.WriteLine("123");
  18.             Console.WriteLine(5000m);
  19.             Console.ReadKey();
  20.         }
  21.         public static void M(int n1, int n2)
  22.         {
  23.             int result = n1 + n2;
  24.         }
  25.         //public static int M(int a1, int a2)
  26.         //{
  27.         //    return a1 + a2;
  28.         //}
  29.         public static double M(double d1, double d2)
  30.         {
  31.             return d1 + d2;
  32.         }
  33.         public static void M(int n1, int n2, int n3)
  34.         {
  35.             int result = n1 + n2 + n3;
  36.         }
  37.         public static string M(string s1, string s2)
  38.         {
  39.             return s1 + s2;
  40.         }
  41.     }
  42. }
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace _07out参数
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             //写一个方法 求一个数组中的最大值、最小值、总和、平均值
  13.             int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  14.             ////将要返回的4个值,放到一个数组中返回
  15.             //int[] res = GetMaxMinSumAvg(numbers);
  16.             //Console.WriteLine("最大值是{0},最小值是{1},总和是{2},平均值是{3}", res[0], res[1], res[2], res[3]);
  17.             //Console.ReadKey();
  18.             int max1;
  19.             int min1;
  20.             int sum1;
  21.             int avg1;
  22.             bool b;
  23.             string s;
  24.             double d;
  25.             Test(numbers, out max1, out min1, out sum1, out avg1, out b, out s, out d);
  26.             Console.WriteLine(max1);
  27.             Console.WriteLine(min1);
  28.             Console.WriteLine(sum1);
  29.             Console.WriteLine(avg1);
  30.             Console.WriteLine(b);
  31.             Console.WriteLine(s);
  32.             Console.WriteLine(d);
  33.             Console.ReadKey();
  34.         }
  35.         /// <summary>
  36.         /// 计算一个数组的最大值、最小值、总和、平均值
  37.         /// </summary>
  38.         /// <param name="nums"></param>
  39.         /// <returns></returns>
  40.         public static int[] GetMaxMinSumAvg(int[] nums)
  41.         {
  42.             int[] res = new int[4];
  43.             //假设 res[0] 最大值  res[1]最小值  res[2]总和  res[3]平均值
  44.             res[0] = nums[0];//max
  45.             res[1] = nums[0];//min
  46.             res[2] = 0;//sum
  47.             string name = "孙全";
  48.             bool b = true;
  49.             for (int i = 0; i < nums.Length; i++)
  50.             {
  51.                 //如果当前循环到的元素比我假定的最大值还大 
  52.                 if (nums[i] > res[0])
  53.                 {
  54.                     //将当前循环到的元素赋值给我的最大值
  55.                     res[0] = nums[i];
  56.                 }
  57.                 if (nums[i] < res[1])
  58.                 {
  59.                     res[1] = nums[i];
  60.                 }
  61.                 res[2] += nums[i];
  62.             }
  63.             //平均值
  64.             res[3] = res[2] / nums.Length;
  65.             return res;
  66.         }
  67.         /// <summary>
  68.         /// 计算一个整数数组的最大值、最小值、平均值、总和
  69.         /// </summary>
  70.         /// <param name="nums">要求值得数组</param>
  71.         /// <param name="max">多余返回的最大值</param>
  72.         /// <param name="min">多余返回的最小值</param>
  73.         /// <param name="sum">多余返回的总和</param>
  74.         /// <param name="avg">多余返回的平均值</param>
  75.         public static void Test(int[] nums, out int max, out int min, out int sum, out int avg, out bool b, out string s, out double d)
  76.         {
  77.             //out参数要求在方法的内部必须为其赋值
  78.             max = nums[0];
  79.             min = nums[0];
  80.             sum = 0;
  81.             for (int i = 0; i < nums.Length; i++)
  82.             {
  83.                 if (nums[i] > max)
  84.                 {
  85.                     max = nums[i];
  86.                 }
  87.                 if (nums[i] < min)
  88.                 {
  89.                     min = nums[i];
  90.                 }
  91.                 sum += nums[i];
  92.             }
  93.             avg = sum / nums.Length;
  94.             b = true;
  95.             s = "123";
  96.             d = 3.13;
  97.         }
  98.     }
  99. }
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace _10ref参数
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             double salary = 5000;
  13.             JiangJin(ref salary);
  14.             Console.WriteLine(salary);
  15.             Console.ReadKey();
  16.         }
  17.         public static void JiangJin(ref double s)
  18.         {
  19.             s += 500;
  20.         }
  21.         public static void FaKuan(double s)
  22.         {
  23.             s -= 500;
  24.         }
  25.     }
  26. }
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace _12params可变参数
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             //   int[] s = { 99, 88, 77 };
  13.             //Test("张三",99,100,100,100);
  14.             //Console.ReadKey();
  15.             //求任意长度数组的和 整数类型的
  16.             int[] nums = { 1, 2, 3, 4, 5 };
  17.             int sum = GetSum(8,9);
  18.             Console.WriteLine(sum);
  19.             Console.ReadKey();
  20.         }
  21.         public static int GetSum(params int[] n)
  22.         {
  23.             int sum = 0;
  24.             for (int i = 0; i < n.Length; i++)
  25.             {
  26.                 sum += n[i];
  27.             }
  28.             return sum;
  29.         }
  30.         public static void Test(string name, int id, params int[] score)
  31.         {
  32.             int sum = 0;
  33.             for (int i = 0; i < score.Length; i++)
  34.             {
  35.                 sum += score[i];
  36.             }
  37.             Console.WriteLine("{0}这次考试的总成绩是{1},学号是{2}", name, sum, id);
  38.         }
  39.     }
  40. }
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Threading.Tasks;  
  6.   
  7. namespace _14_方法的递归  
  8. {  
  9.     class Program  
  10.     {  
  11.         static void Main(string[] args)  
  12.         {  
  13.             TellStory();  
  14.             Console.ReadKey();  
  15.         }  
  16.   
  17.         public static int i = 0;  
  18.   
  19.   
  20.         public static void TellStory()  
  21.         {  
  22.             //int i = 0;  
  23.             Console.WriteLine("从前有座山");  
  24.             Console.WriteLine("山里有座庙");  
  25.             Console.WriteLine("庙里有个老和尚和小和尚");  
  26.             Console.WriteLine("有一天,小和尚哭了,老和尚给小和尚讲了一个故事");  
  27.             i++;  
  28.             if (i >= 10)  
  29.             {  
  30.                 return;  
  31.             }  
  32.              TellStory();  
  33.              
  34.         }  
  35.     }  
  36. }  
shashou47

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: