方法
一、導圖
二、方法的重載
static void Main(string[] args)
{
AddNumber(1,2);//只打半個括號,可以看到,總共顯示3個方法,依據每一個方法裏的變量類型不同,輸入對應的數值
}
//返回值類型爲int,參數的個數爲2,參數類型都爲int類型
public static int AddNumber(int num1, int num2)
{
return num1 + num2;
}
//返回值類型爲double,參數的個數爲2,類型都爲double類型
public static double AddNumber(double num1, double num2)
{
return num1 + num2;
}
//返回值類型爲double,參數的個數爲2,類型分別爲double類型和int類型
public static double AddNumber(double num1, int num2)
{
return num1 + num2;
}
三、返回一個數組
static void Main(string[] args)
{
//方法 求 和,最大值,最小值
int[] nums = {1,2,3,4,5,6,7,8,9};//定義nums數組並賦值
int[] arrayNumbers = ArraySumAndMaxOrMin(nums);//調用ArraySumAndMaxOrMin的方法
Console.WriteLine("最大值爲{0}",arrayNumbers[0]);
Console.WriteLine("最小值爲{0}",arrayNumbers[1]);
Console.WriteLine("和爲{0}",arrayNumbers[2]);
Console.ReadKey();
//返回多個值,不同類型
}
public static int[] ArraySumAndMaxOrMin(int[] numbers)
{
int[] array = new int[3];//聲明數組
array[0] = int.MinValue;
array[1] = int.MaxValue;
array[2] = 0;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i]>array[0])//如果數組數值小於最小值
{
array[0] = numbers[i];//將數組數值賦給min變量
}
if (numbers[i]<array[1])//如果數組數值大於最大值
{
array[1] = numbers[i];//將數組數值賦給max變量
}
array[2] += numbers[i];//求和
}
return array;
}
三、out返回值
static void Main(string[] args)
{
int number1 = 10;//定義變量
//AddNumber的參數number1所採用的值是從方法中傳過來的
int sum = AddNumber(out number1);
//如果方法的參數用out修飾了,那麼這個參數 必須在 方法裏 進行賦值
//變量前加out,是把方法裏的值,傳到方法外面去了
Console.WriteLine(number1);//所以此刻的number1的值爲100
Console.WriteLine(sum);//而返回的總和爲:120
Console.ReadKey();
}
public static int AddNumber(out int num1)
{
num1 = 100;//定義變量
return num1 + 20;//返回100+20
}
有參數不加out,則加out的參數必須在方法裏賦初值,未加out的參數可以不在方法裏賦初值
static void Main(string[] args)
{
int num1;//聲明變量
int num2 = 80;//給變量賦初值,num2未加out,可以不在方法裏賦初值
int numSum = Show(out num1,num2);//調用方法
Console.WriteLine(num1);
Console.WriteLine(num2);
Console.ReadKey();
//out修飾方法的參數了,在方法外面,可以不給這個參數賦值,但是在方法裏面必須給這個out修飾符的參數賦初值
//另外,參數加out,是把這個方法中的參數的值傳到方法外面去了
}
public static int Show(out int number1,int number2)
{
number1 = 90;
return number1 + 10;
}
四、ref返回值
static void Main(string[] args)
{
int number1 = 10;//給變量賦初值
int number2 = 20;//給變量賦初值
int sum = Show(ref number1, ref number2);//調用方法
Console.WriteLine("{0}{1}{2}",number1 +"\t",number2 +"\t",sum)
Console.ReadKey();
//ref 用的時候必須要給這個變量賦初值,和out有區別
//out 可以把方法裏的值傳出去
//ref 可以把值傳到方法裏,又可以把值傳到方法外,
}
public static int Show(ref in num1, ref int num2)//方法
{
return num1 + num2;
}