博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习笔记_第十天_方法_方法的三个高级参数
阅读量:5039 次
发布时间:2019-06-12

本文共 8661 字,大约阅读时间需要 28 分钟。

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {   11         //写一个方法 求一个数组中的最大值、最小值、总和、平均值12         //将返回的4个值,放在一个数组中返回13         static void Main(string[] args)14         {15             int[] numbs = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };16             int[] reslut = GetMaxMinSumAvg(numbs);17             Console.WriteLine("输入数组的最大值是{0},最小值是{1},总和是{2},平均值是{3}",reslut[0], reslut[1], reslut[2], reslut[3]);18             Console.ReadKey();19         }20         /// 21         /// 计算一个数组的最大值、最小值、总和、平均值22         /// 23         /// 要计算的数组24         /// 
最大值、最小值、总和、平均值形成的数组
25 public static int[] GetMaxMinSumAvg(int[] numbers)26 {27 // 假设res[0]是最大值,res[1]是最小值,res[0]是总和,res[0]是平均值28 int[] res = new int[4];29 res[0] = numbers[0];//Max30 res[1] = numbers[0];//Min31 res[2] = 0;32 for (int i = 0; i < numbers.Length; i++)33 {34 //如果当前循环到的元素比我假定的最大值还大35 if (res[0]

 (1)out 参数

如果在一个方法中,需要返回多个相同类型的值的时候,考虑使用数组。

但是如果在一个方法中,需要返回多个不同类型的值的时候,就得考虑使用out参数。

out参数:侧重于在一个方法中,可以返回多个不同类型的值。

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {   11         //写一个方法 求一个数组中的最大值、最小值、总和、平均值12         //将返回的4个值,放在一个数组中返回13         static void Main(string[] args)14         {15             int min1 = 0;16             int max1 = 0;17             int sum1 = 0;18             int avg1= 0;19             int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };20             Test(numbers,out max1,out min1,out sum1,out avg1);21             Console.WriteLine(max1);22             Console.WriteLine(min1);23             Console.WriteLine(sum1);24             Console.WriteLine(avg1);25             Console.ReadKey();26         }27         /// 28         /// 用out参数形式来计算一个数组的最大值、最小值、总和、平均值29         /// 30         /// 要求值的数组31         /// 多余返回的最大值32         /// 多余返回的最小值33         /// 多余返回的总和34         /// 多余返回的平均值35         public static void Test(int[] numbs,out int max,out int min,out int sum,out int avg)36         {37             //out 参数要求在方法的内部必须为其赋值38             max = 0;39             min = 0;40             sum = 0;41             for (int i = 0; i < numbs.Length; i++)42             {43                 if (numbs[i]>max)44                 {45                     max = numbs[i];46                 }47                 if (numbs[i]
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {11         //分别提示用户输入用户名和密码12         //写一个方法来判断用户输入的是否正确13         //换回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息14         //如果用户名错误,除了返回登陆结果以外,还要返回一个“用户名错误”15         //密码错误16         static void Main(string[] args)17         {18             Console.WriteLine("请输入用户名:");19             string _name = Console.ReadLine();20             Console.WriteLine("请输入密码:");21             string _pwd = Console.ReadLine();22             string _msg;23             bool b=IsBool(_name,_pwd,out _msg);24             Console.WriteLine("登陆结果:{0}",b);25             Console.WriteLine("登陆信息:{0}",_msg);26             Console.ReadKey();27         }28         /// 29         /// 判断登陆是否成功30         /// 31         /// 用户名32         /// 密码33         /// 多余返回的登陆信息34         /// 
返回登陆结果
35 public static bool IsBool(string name, string pwd, out string msg)36 {37 if (name == "admin" && pwd == "888888")38 {39 msg = "登陆成功";40 return true;41 }42 else if (name == "admin")43 {44 msg = "密码错误";45 return false;46 }47 else if (pwd == "888888")48 {49 msg = "您输入的用户名不存在";50 return false;51 }52 else53 {54 msg = "用户名/密码错误";55 return false;56 }57 }58 }59 }

 

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {11         //分别提示用户输入用户名和密码12         //写一个方法来判断用户输入的是否正确13         //换回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息14         //如果用户名错误,除了返回登陆结果以外,还要返回一个“用户名错误”15         //密码错误16         static void Main(string[] args)17         {18             int num;19             bool b = int.TryParse("123",out num);20             Console.WriteLine(b);21             Console.WriteLine(num);22             Console.ReadKey();23         }24         public static bool MyTryParse(string s,out int result)25         {26 27             result = 0;28             try29             {30                 result = Convert.ToInt32(s);31                 return true;32             }33             catch34             {35                 return false;36             }37         }38     }39 }

 (2)ref参数

能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出方法。ref参数要求在方法外部必须为其赋值,而方法内部可以不赋值。

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {11         static void Main(string[] args)12         {13             double salary = 5000;14             double _mysalary= JiangJin(salary);15             Console.WriteLine(_mysalary);16             Console.ReadKey();17         }18         public static double JiangJin(double numbs)19         {20             numbs += 500;21             return numbs;22         }23     }24 }
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {11         static void Main(string[] args)12         {13             double salary = 5000;14             JiangJin(ref salary);15             Console.WriteLine(salary);16             Console.ReadKey();17         }18         public static void JiangJin(ref double numbs)19         {20             numbs += 500;   21         }22     }23 }

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 方法002{    class Program    {        //两种交换变量的方法        static void Main(string[] args)        {            int _n1 = 10;            int _n2 = 20;            //int temp = n1;            //n1 = n2;            //n2 = temp;            //Console.WriteLine(n1);            //Console.WriteLine(n2);            //Console.ReadKey();            //int n1 = 10;            //int n2 = 20;            //n1 = n1 - n2;            //n2 = n1 + n2;            //n1 = n2 - n1;            Test(ref _n1,ref _n2);            Console.WriteLine(_n1);            Console.WriteLine(_n2);            Console.ReadKey();        }        public static void Test(ref int n1,ref int n2)        {            int temp = n1;            n1 = n2;            n2 = temp;        }    }}

 (3)params参数

当实参列表中跟可变参数数组类型一致的元素都当作数组的元素去处理。

注:参数数组必须是形参列表中的最后一个参数。   即:parmas可变参数必须是形参列表中的最后一个参数。

 

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {11         12         static void Main(string[] args)13         {14             15             Test("张三",99,88,20);16             Console.ReadKey();17         }18         public static void Test(string name,params int[] score)19         {20             int sum = 0;21             for (int i = 0; i < score.Length; i++)22             {23                 sum += score[i];24             }25             Console.WriteLine("{0}这次的考试总成绩是{1}",name,sum);26         }27     }28 }

 

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace 方法002 8 { 9     class Program10     {11         //求任意长度数组的和(整数类型的)12         static void Main(string[] args)13         {14             //int[] numbers = { 0, 1, 2, 3, 45, 5, 6 };15             int sum = GetSum(6,5,5,41,5,515);16             Console.WriteLine(sum);17             Console.ReadKey();18         }19         public static int GetSum(params int[] num)20         {21             int sum = 0;22             for (int i = 0; i < num.Length; i++)23             {24                 sum += num[i];25             }26             return sum;27         }28     }29 }

 

转载于:https://www.cnblogs.com/NBOWeb/p/7458000.html

你可能感兴趣的文章
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>