在20210419的基础上进行改进,和学习。
20210422笔记
①C#小知识点总结
一、C#中的数组定义
0)数组声明
①C#声明数组时,方括号[]必须跟在类型后面,而不是标识符后面。
②C#声明数组时支持分配内存的方括号内是整型变量或变量表达式,只要事先确定了变量的值即可
int[] mySigArray = new int[n];
n的值必须事先确定,声明之后即使改变n的值数组大小也不会变
例子:
// int[] ii;
//声明数组,此处仅仅声明
//创建数组,数组赋值方式有两种
//方法一
//ii = new int[4];
//ii[1] = 1;
//ii[2] = 2;
//ii[4] = 4;//其实是越界了,所以是错的
//方法二
int[]ii={
1,2,3,4};//创建同时,进行赋值操作
1)一维数组:
不定长:
int[] ii= new int[]{
1,2,3,4,5,6};
定长:
int[] ii= new int[3]{
1,2,3};
区别在于是否在[]中填入数字
2)二维数组
不定长:
int[,] ii= new int[,]{
{
1,2,3},{
1,2,3}};
定长:
int[,] ii= new int[2,2]{
{
1,2},{
1,2}};
多维以此类推
区分:
声明锯齿数组(数组的数组)
int[][] mySawArray = new int[3][]; //注意与二维数组不同,这里有两个方括号

3)数组初始化
int[] a = {
1,2,3,4}; //一维数组初始化
int[,] aa= {
{
1,2,3},{
4,5,6},{
7,8,9}}; //二维数组初始化
int[][] aaa= {
new int[] {
1,2},new int[] {
3,4,5,6,7,8},new int[] {
9,10,11}}; //锯齿数组初始化
4)数组的访问
① 访问上述初始化数组的单个的元素
int i = a[2]; //i=3
int j = aa[2,1]; //j=8
int k = aaa[2][1]; //k=10 注意二维数组与锯齿数组的区别
②遍历访问数组元素
1)C#提供了foreach语句,该语句提供了一种简单、明了的方法来循环访问数组
foreach(int m in myArray) //将所有数组元素的值加1,myArray可以是一维、多维或锯齿数组
{
m++;
}
C# 中 foreach 遍历的用法
1)foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。
https://blog.csdn.net/beauty_1991/article/details/45197931
2)用for循环遍历数组,使用这种方式可以更好的控制数组元素(知道每次循环中的数组对象是哪个),下面这段代码用foreach语句是无法实现的
//for遍历规则数组
nt[,,] a = new int[2, 2, 2] {
{
{
1, 2 }, {
3,4}},{
{
5, 6 }, {
7,8}} };//定义一个2行2列2纵深的3维数组a
for (int i = 0; i < a.GetLength (0) ;i++ ) //用Array.GetLength(n)得到数组[0,1,,,n]上的维数的元素数,0代表行,1列,n代表此数组是n+1维
{
for (int j = 0; j < a.GetLength(1); j++)
{
for (int z = 0

本文详细介绍了C#中的数组定义,包括一维、二维和锯齿数组的初始化和访问方法。此外,探讨了C#的数据类型,如数值类型(整型、浮点型、小数型)、引用类型(类、对象、字符串、接口等)和指针类型。还讨论了函数重载,包括方法和构造函数的重载。最后,对字符串操作进行了总结,如替换、删除、提取和比较。
最低0.47元/天 解锁文章
2228

被折叠的 条评论
为什么被折叠?



