交错数组
多维数组只能构造一个矩形的数据结构,而使用交错数组可以设计出不规则的结构
交错数组的赋值
int[][] arr=new int[3][]{new int[]{1,2,3,4,5,6},
new int[]{1,2,3},
new int[]{1}};
交错数组的遍历
使用for循环遍历:
//交错数组只能arr.GetLength(0)获取行数
//不能通过arr.GetLength(1)获取每一行的元素数量
//但是交错数组的每一行都是一个一维数组,可以当成一维数组进行遍历
for(int i=0;i<arr.GetLength(0);i++)
{
for(int j=0;j<arr[i].Length;j++)
{
Console.Write(arr[i][j]);
}
Console.WriteLine();
}
使用foreach遍历:
//c是从arr数组中取出来的一个数组元素
foreach(int[] c in arr){
//i是数组c中的元素
foreach(int i in c){
Console.Write(i);
}
Console.WriteLine();
}
foreach很方便,不用管遍历容器的元素数量,但是会产生内存垃圾,并且GC不能完全回收垃圾。在实际应用开发中可能不会推荐使用foreach。
函数
函数/方法:封装我们的逻辑,以便重复使用。
函数(方法)可以有返回值
方法得有参数的接入口
格式:
//static:静态
//void:返回值
//Sort:函数名
//():参数
//{}:函数体
static 访问修饰符 返回类型 方法名(参数类型,......){
方法体;
}
静态方法:被static修饰过的方法就叫静态方法。
特征:调用上,通过类型名称.方法名()
非静态方法:没有被static修饰过,也叫成员方法
特征:调用上,必须要先实例化一个对象,再去通过对象名.方法名();
函数只能声明在类,结构体,接口中。
通过()形参列表可以传递参数到函数中。
传参:值类型和引用类型
值类型:存在栈中
引用类型:内容存在堆中,地址存在栈中
值类型传参的特征:在栈中复制了一份值
引用类型传参的特征:因为复制的是地址,而地址指向同一个空间,所以如果你在函数中更改内容则会更改原内容。
为了让值类型传参可以修改原内容,出现了一个关键字,ref关键字。
ref关键字
使用:
1.在定义函数的参数列表时,把想要索引的值类型的参数前加上ref
2.在调用方法时以及传递参数时,依然也要写上ref
例题:写一个方法,判定你传入的参数是不是质数
static void Main(string[] args)
{
bool temp=GetPrimeNum(5);
Console.WriteLine(temp);
}
static bool GetPrimeNum(int num){
for(int i=2;i<num;i++)
{
if(num%i==0)
{
return false;
}
}
return true;
}
运行结果:
该系列专栏为网课课程笔记,仅用于学习参考。