1.数组的概念-存储相同类型的集合 变量类型[] 数组名称 = new 变量[数组的长度]{内容1,内容2}
#实例
int [] arr1; //不过之后用的时候还是要初始化
int [] arr2 = new int [5]
new int[]{}
{}
2.数组的使用
1)数组长度
int[] arry = {1,2,3,4,5,6};
Console.WriteLine(arry.Length);
2)获取数组中的元素
int[] arry = {1,2,3,4,5,6};
Console.WriteLine(arry[0]);
3.二维数组的申明
int[,] arr; //必须初始化
int[,] arr2 = new [2,3];
int[,] arr3 = new [2,3]{ {1,2,3},{2,3,4} }
int[,] arr4 = new [,]{ {1,2,3},{2,3,4} }
4.二维数组查长度--分别查行和列
int[,] arr4 = new [,]{ {1,2,3},{2,3,4} }
Console.WriteLine(arr4.GetLength(0));
Console.WriteLine(arr4.GetLength(1));
5.先写进去,在遍历一次
using System;
public class Program
{
public static void Main()
{
int[,] arr = new int[10, 10];
int count = 1;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
arr[i, j] = count;
count++;
}
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
Console.Write(arr[i, j] + "\t");
}
Console.WriteLine();
}
}
}
二。函数
1.函数的申明 static + 变量类型 + 函数名字(参数)
调用时直接函数名字(参数)
static int[] HanShu(int a, int b)
{
int sum = a + b;
int pro = a * b;
return new int[]{sum, pro};
}
2.ref---当你在函数中改变参数的值,只是暂时修改,使用ref将变为全局更改,数组同理
int[] arr = {1,3,4}
static void HanShuRef(ref int[] arr)
{
arr = new int[]{1,2,3};
}
#调用时
HanShuRef(ref arr);
//out 关键词使用也一样
3.ref--需要赋值 out--必须需要内部赋值
4. 参数过多--params
static cord HanShu(params int[] arr)
5.小作业
using System;
namespace Ref
{
class Out
{
static bool PanDuan(string username, string passworld, out string message)
{
if (username == "hxn" && passworld == "0726")
{
message = "登陆成功";
return true;
}
else
{
if (username != "hxn")
{
message = "用户名错误";
return false;
}
else
{
message = "用户密码错误";
return false;
}
}
}
static void Main(string[] args)
{
Console.WriteLine("请输入用户名");
string username = Console.ReadLine();
Console.WriteLine("请输入密码");
string Password = Console.ReadLine();
bool result = PanDuan(username, Password, out string message);
Console.WriteLine(message);
Console.WriteLine(result);
}
}
}
using System;
namespace SumAndAverage
{
class Program
{
static void Main(string[] args)
{
// 调用SumAndAverage函数,并将数字作为参数传递
double sum, avg;
SumAndAverage(out sum, out avg, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100);
// 输出结果
Console.WriteLine($"和为:{sum}" );
Console.WriteLine($"平均数为:{avg}");
Console.ReadLine();
}
static void SumAndAverage(out double sum, out double avg, params int[] nums)
{
sum = 0;
foreach (int num in nums)
{
sum += num;
}
avg = sum / nums.Length;
}
}
}
6.函数重载:同一语句块--函数名相同但是函数参数不同 | 参数位置不同。--提升代码的可读性
ref -out不能同时修饰重载函数
using System;
namespace Tset
{
class Comepare
{
static void Cpr(int a, int b)
{
if(a < b)
{
Console.WriteLine(b);
}
else
{
Console.WriteLine(a);
}
}
static void Cpr(float a, float b)
{
if (a < b)
{
Console.WriteLine(b);
}
else
{
Console.WriteLine(a);
}
}
static void Cpr(double a, double b)
{
if (a < b)
{
Console.WriteLine(b);
}
else
{
Console.WriteLine(a);
}
}
static void Main(string[] args)
{
Console.WriteLine("ok");
Cpr(1.1f, 3.4f);
}
}
}
using System;
namespace Tset
{
class Compare
{
static int Cpr(out int message, params int[] nums)
{
message = nums[0];
for (int i = 1; i < nums.Length; i++)
{
if (nums[i] > message)
{
message = nums[i];
}
}
return message;
}
static void Main(string[] args)
{
Console.WriteLine("ok");
int message;
Cpr(out message, 1, 3, 6, 23, 65, 2, 1, 88);
Console.WriteLine(message);
}
}
}
递归函数--在函数中调用函数--必须要能停止
using System;
namespace DiGui
{
class Digui
{
static void Main()
{
static void Print(int a = 1)
{
if (a < 11)
{
Console.WriteLine(a);
++a;
Print(a);
}
}
Print();
}
}
}
using System;
namespace DiGui
{
class Digui
{
static int Jiecheng(int a)
{
if (a == 1)
{
return 1;
}
else
{
return a * Jiecheng(a - 1);
}
}
static void Main()
{
int result = Jiecheng(5);
Console.WriteLine(result);
}
}
}