2016.12.12学的out参数
out参数的作用
如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。
但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,我们可以考虑使用out参数。
- out参数就侧重于在一个方法中可以返回多个不同类型的值。
- 举个例子
static void Main(string[] args)
{
////写一个方法,求一个数组的最大值,最小值,总和,平均值
////声明一个数组并赋值,求这个数组的最大值,最小值,总和,平均值
//int[] nuber = {2, 4, 6, 8, 10 };
//int[]res= mmp(nuber);
//Console.WriteLine("这个数组的最大值是{0},这个数组的最小值是{1},这个数组的总和是{2},这个数组的平均值是{3}",res[0],res[1],res[2],res[3]);
////Array.Sort(nuber);
////foreach (int i in nuber)
////{
//// Console.WriteLine(i);
////}
#region
Console.WriteLine("请输入用户名");
string userName = Console.ReadLine();
Console.WriteLine("请输入密码");
string passWord=Console.ReadLine();
string mas;
bool b = Islogin.isLogin(userName, passWord, out mas);
Console.WriteLine("登陆结果{0}", b);
Console.WriteLine(mas);
Console.ReadKey();
#endregion
}
//创建一个静态方法,返回值是int[]数组,参数是一个int[]数组
//public static int []mmp(int []nums)
//{
// //Array.Sort(nums);
// //创建一个数组来储存返回的最大值,最小值,总和,平均值
// int[] res = new int[4] ;
// //给这个数组赋值
// res[0] = nums[0];//假设num[0]是这个数组的最大值
// res[1] = nums[1];//假设num[0]是这个数组的最小值
// res[2] = 0;//给res[2]赋值为0,用来存储总和,计算这个数组的总和方法为res[2]+=nums[i];
// //用for语句来遍历这个数组的每一个元素,求出这个数组的最大值和最小值。
// for (int i = 0; i < nums.Length; i++)
// {
// if (nums[i] > res[0])//条件判断语句,如果nums[i]里面的i个元素的值比假定的res[0]还大,那么把这个值赋给res[0].
// {
// res[0] = nums[i];
// }
// if (nums[i] < res[1])//条件判断语句,如果nums[i],里面的i个元素的值比假定的res[0]还小,那么 把这值赋给他。
// {
// res[1] = nums[i];
// }
// res[2] += nums[i];
// }
// res[3] = res[2] / nums.Length;
// return res;
//}
public class Islogin
{
//分别提示用户输入用户名和密码
//写一个方法来判断用户输入的用户名和密码是否正确
//返回给用户一个登陆结果,并且还要返回一个登陆信息
//如果用户名错误,除了返回登陆结果外还要返回一个“用户名错误”
public static bool isLogin(string userName, string passWord, out string mas)
{
if(userName=="我是传奇"&&passWord=="123456")
{
mas = "恭喜你登陆成功";
return true;
}
else if(userName=="我是传奇")
{
mas = "煞笔密码错了";
}
else if(passWord=="123456")
{
mas = "没找到这个用户";
}
else
{
mas = "未知错误";
}
return false;
}
}
- 返回值的类型可以是很多类型,目前知道的int,bool,string都可以,
- 求平均值要在for循环外面,
- 返回值是什么类型的,你在调用这个函数的时候,必须要有一个这样类型的变量来接受返回值。