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循環外面,
- 返回值是什么類型的,你在調用這個函數的時候,必須要有一個這樣類型的變量來接受返回值。