方法的重载:
方法名相同但是参数不同,参数的类型个数不同,类型也不相同;
方法的重载和返回值无关,和参数的类型和个数有关;
返回多个值,相同类型
static void Main(string[] args)
{
int[] num ={32,3,23,2,3,23, };
int[] arraynum=Array(num);
Console.WriteLine("最大值为{0}:",arraynum[0]);
Console.WriteLine("最小值为{0}",arraynum[1]);
Console.WriteLine("总和为{0}", arraynum[2]);
Console.ReadKey();
}
public static int[] Array(int[] nums)
{
int[] array = new int[3];
array[0] = int.MinValue;
array[1] = int.MaxValue;
array[2] = 0;
for(int i=0;i<nums.Length;i++)
{
if (nums[i] > array[0])
{
array[0] = nums[i];
}
if (nums[i] <array[1])
{
array[1] = nums[i];
}
array[2] = array[2] + nums[i];
}
return array;
第二种表示方法:
public static int Arrausum(int[]numbers,out int max,out int min)
{
max = int.MinValue;
min = int.MaxValue;
int sum = 0;
for (int i=0;i<numbers.Length;i++)
{
if (numbers[i]>max)
{
max = numbers[i];
}
if (numbers[i]<min)
{
min = numbers[i];
}
sum += numbers[i];
}
return sum ;
返回两种不同数据类型的值, 参数中使用out在该方法内必须给变量进行赋值,在方法外可以不对变量进行赋值
static void Main(string[] args)
{
int num1;
int num2 = 39;
int num = Add(out num1, num2);
}
public static int Add(out int num1, int num2) //out 修饰方法的参数是指将这个方法中的参数传到方法外边,在方法中必须给参数进行赋值,在方法外部 可以不给参数赋值
{
num1 = 90;
return num1 + 10;
}
在使用ref时必须给变量进行赋值,在方法内可以不用赋值
static void Main(string[] args)
{
int num1=25;
int num2 = 39;
int num = Add(ref num1,ref num2);
Console.WriteLine("{0},{1}", num, num1);
Console.ReadKey();
}
public static int Add(ref int num1, ref int num2) //使用ref必须给变量赋初值,out 方法吧方法的值传出,但是ref既可以将值传出又可以将值传入
{
return num1 + 10;
}
拼接字符串练习
string[] names = { "sdf", "sahfdkasd", "usdfg" };
string st =Changename(names);
Console.WriteLine(st);
Console.ReadKey();
}
public static string Changename(string []names )
{
string name="";
for (int i =0;i<names.Length -1;i++)
{
name = name+names[i]+ "|";
}
return name+names [names.Length-1];
}
游戏第一横行和第一竖行的书写
public static int[] map = new int[100];//声明一个长度为100的数组用来画地图
public static int[] playerpos = new int[] { 0, 0 };//存玩家
static void Main(string[] args)
{
ShowUi();
Console.ReadKey();
}
public static void ShowUi()
{
Console.WriteLine("********************************");
Console.WriteLine("* *");
Console.WriteLine("* 超级骑士飞行棋 1.02.03 *");
Console.WriteLine("* *");
Console.WriteLine("********************************");
}
/// <summary>
/// 初始化地图
/// </summary>
public static void Initmap()
{
int[] Luckturn = { 4, 34, 5, 64, 43 };
int[] LandMine = { 76, 2, 45, 75 };
int[] pause = { 3, 15, 53, 74 };
int[] time = { 85, 23, 40, 68 };
for (int i=0; i<Luckturn .Length;i++)
{
map[Luckturn[i]] = 1;
}
for (int i = 0; i < LandMine.Length; i++)
{
map[LandMine[i]] = 2;
}
for (int i = 0; i < pause.Length; i++)
{
map[pause[i]] = 3;
}
for (int i = 0; i < time.Length; i++)
{
map[time[i]] = 4;
}
;
}
/// <summary>
/// 画第一竖行
/// </summary>
public static void Drowmap()
{
for(int i=0; i<=29;i++)
{
if (playerpos[0] == playerpos[1] && playerpos[0] == i) //如果AB在同一坐标上就画《》
{
Console.Write("<>");
}
else if(playerpos [0]==i)//如果玩家A在地图上就画A
{
Console.Write("A");
}
else if (playerpos[1]==i) //如果玩家B在地图上就画B
{
Console.Write("B");
}
else
{
switch (map [i]) //如果玩家A和玩家B不在一起也不在这个坐标上就画该显示地图图标
{
case 0: Console.Write ("□");break;
case 1:Console.Write("◎");break;
case 2:Console.Write("★");break;
case 3:Console.Write("▲");break;
case 4:Console.Write("卍");break;