using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _8_2_方法的声明及调用_2_
{
class Program
{
//编写一个方法用于计算给定整形数组元素的和
static int add(params int[] nums)
{
int sum = 0;
foreach (var outnum in nums)
{
sum += outnum;
}
return sum;
}
//编写一个方法用于平方(没有返回值)
//此时的参数传递叫做值传递
static void square (int num)
{
num *= num;
Console.WriteLine("num的平方:"+num);
}
//此时的参数传递叫做引用传递,会改变参数值,并返回
static void squareref (ref int num)
{
num *= num;
Console.WriteLine("num的平方:" + num);
}
//编写一个方法,求出数组中最大的值进行返回,并返回最大值的一个索引
static int maxnum(int[] nums,out int maxnumindex)
{
int maxnum = nums[0];
maxnumindex = 0;
for (int i = 0; i < nums.Length; i++)
{
if (maxnum<nums[i])
{
maxnum = nums[i];
maxnumindex = i;
}
}
return maxnum;
}
static void Main( string[] args)
{
//测试params关键字
int[] myaddarray = { 2, 3, 4, 6, 8, 9, 334 };
Console.WriteLine(add(myaddarray));
//值传递和引用传递的区别
Console.WriteLine("值传递");
int num = 10;
Console.WriteLine(num);
square(num);
Console.WriteLine(num);
Console.WriteLine("引用传递");
Console.WriteLine(num);
squareref(ref num);
Console.WriteLine(num);
//
int[] mymaxarray = { 12, 34, 547, 78967, 434, 78, 324, 987968, 234 };
int maxnumindex;
Console.WriteLine("此数组最大值是{0},最大值的索引是{1}",maxnum(mymaxarray,out maxnumindex),maxnumindex);
Console.ReadKey();
}
}
}