C#基础Ⅵ❷

阅读: 评论:0

C#基础Ⅵ❷

C#基础Ⅵ❷

文章目录

  • 数组
    • 一、数组的定义
    • 二、数组的访问
    • 三、数组的遍历
    • 四、多维数组
    • 数组的使用
      • 声明数组
      • 如何赋值
    • 实例
        • 一次语文测试,老师让班长统计每位学生的成绩并计算全部的平均成绩,然后把成绩显示出来
        • 求数组最大值、最小值、平均值、总和
        • 冒泡排序
        • 数组排序正向输出
        • 数组排序逆向输出
        • 利用数组方法调用:计算一个数组所有元素的最大值、最小值、平均值、总和
        • 数组里面的人名分割成阿花|阿杰|阿健
        • 将一个整数数组的每一个元素进行处理:如果元素是正数则将这个位置的元素的值+1;如果元素是负数则将这个位置的元素的值-1;如果元素是0,则不变
        • forr:反转,颠倒原来数组
  • 五、总结

数组

C#中的数组是一种非常重要的数据结构,能够存储一组相同类型的值。在实际编程中,数组经常被用作存储数据的容器,例如成绩、温度、时间等等。本文将介绍C#中数组的基本知识和用法。

一、数组的定义

C#中的数组是一个固定长度的有序集合,它包含相同数据类型的元素。数组的长度是在创建数组时指定的,一旦创建后,数组的长度就不能再改变了。数组可以存储基本类型的值,也可以存储对象和字符串等引用类型的值。

数组的定义语法如下:

数据类型[] 数组名 = new 数据类型[长度];

其中,数据类型表示数组存储的数据类型,数组名表示数组的名称,长度表示数组的长度。例如,定义一个长度为10的整型数组:

int[] nums = new int[10];

二、数组的访问

数组中的元素可以通过索引访问,索引从0开始,依次递增。例如,访问数组nums中的第一个元素:

int firstNum = nums[0];

可以看到,使用方括号[]来访问数组元素,其中方括号中的数值表示要访问的元素的索引。

数组元素的赋值也是类似的,例如,给数组nums中的第一个元素赋值为10:

nums[0] = 10;

三、数组的遍历

数组中的元素可以通过遍历的方式逐个访问。常用的遍历方式有for循环和foreach循环。

使用for循环遍历数组:

for (int i = 0; i < nums.Length; i++)
{int num = nums[i];Console.WriteLine(num);
}

在for循环中,i表示数组的索引,nums.Length表示数组的长度。for循环将从索引0开始遍历数组,依次访问每个元素并输出其值。

使用foreach循环遍历数组:

foreach (int num in nums)
{Console.WriteLine(num);
}

在foreach循环中,num表示数组中的元素。foreach将逐个访问数组中的元素,并输出其值。

四、多维数组

除了一维数组之外,C#还支持多维数组。多维数组是指包含多个维度的数组,例如二维数组、三维数组等等。多维数组的定义和访问方式和一维数组类似。

定义一个二维数组:

int[,] matrix = new int[3, 4];

二维数组可以看做是一个矩阵,第一个维度表示行,第二个维度表示列。使用for循环遍历二维数组:

for (int i = 0; i < matrix.GetLength(0); i++)
{for (int j = 0; j < matrix.GetLength(1); j++){int num = matrix[i, j];Console.Write(num + " ");}Console.WriteLine();
}

在for循环中,i和j分别表示数组的行和列,matrix.GetLength(0)表示数组的行数,matrix.GetLength(1)表示数组的列数。循环将遍历二维数组的所有元素并输出其值。

数组的使用

声明数组

//第一种方式
int[] num1 = new int[10]; //长度为10,下标为0-9,int类型

//第二种方式
int[] num2 = new int[] { 1,2,3,4,5}; //此数组就存5个值

//第三种方式
int[] num3 = new int[3] { 1, 2, 3 }; //个数和声明数必须一致。此数组就存3个值,值都清楚

//第四种方式
int[] num4 = { 1, 2, 3, 4, 5 }; //简写法

如何赋值

int[] num1=new int[10];
num1[8]=20;
console.WriteLine(num1[8]);
Console.WriteLine(

实例

一次语文测试,老师让班长统计每位学生的成绩并计算全部的平均成绩,然后把成绩显示出来
 Console.WriteLine("请输入班级人数");int avg = 0;int sum = 0;if (int.TryParse(Console.ReadLine(),out avg )){int[] score = new int[avg];for (int i = 0; i <score.Length  ; i++){Console.WriteLine("请输入第{0}个人的成绩",i++);score[i] = int.Parse(Console.ReadLine());sum += score[i];}Console.WriteLine("总成绩为{0},平均成绩为{1}",sum ,sum/avg);}else{Console.WriteLine("输入有误");}Console.ReadKey();
}
求数组最大值、最小值、平均值、总和
int[] nums =   { 1, 2, 3, 0, 9 };
int    max = int.MinValue;    			//求最大值
int    min = int.MaxValue;    			//求最小值
int    sum = 0;              			//总和初始化为0for (int i = 0; i    < nums.Length ; i++){if(nums[i]> max)    				//求最大值{max = nums[i]; }if(nums[i]< min)    				//求最小值{min = nums[i];}sum += nums[i];    				 //求和
}
Console.WriteLine("最大值为{0},最小值为{1},总和为{2},平均值为{3}",max,min,sum,sum/nums.Length );
Console.ReadKey();
冒泡排序
int[] nums = new int[] { 98, 54, 54, 322, 43, 23 };         //一个数组nums,并赋值(要被排序的数组)
int temp = 0;for (int i = 0; i < nums.Length - 1; i++)                   //循环的轮数,需要6-1=5轮
{for (int j = 0; j < nums.Length - 1 - i; j++)           //比较的次数(随着轮数的增加,比较次数减少){if (nums[j] > nums[j + 1])                           //相邻两数进行比较,如果前一位>后一位 {temp = nums[j];                                 //交换位置nums[j] = nums[j + 1];nums[j + 1] = temp;}}
}for (int i = 0; i < nums.Length ; i++)                      //循环输出排序之后的数组元素
{Console.Write(nums[i]+"t");                            //在控制台输出结果,并排序(t)
}
Console.ReadKey();
数组排序正向输出
int[] nums = new int[] { 1, 2, 3, 4, -1 };
Array.Sort(nums);
for (int i = 0; i < nums.Length ; i++)
{Console.WriteLine(nums[i] + "t");
}
Console.ReadKey ();
数组排序逆向输出
int[] nums = new int[] { 1, 2, 4, 3, -1 };      //定义一个数组,并赋值
Array.Sort(nums);                               //Array类,对数组元素进行排序
//Array.Reverse(nums);                          //反转,颠倒原来数组,如,颠倒后:-1,3,4,2,1
for (int i = nums.Length - 1; i >= 0; i--)      //倒着输出结果
{Console.Write(nums[i] + "t");
}
Console.ReadKey();
利用数组方法调用:计算一个数组所有元素的最大值、最小值、平均值、总和
class Program
{static void Main(string[] args) {Program.ArraySort();                              //调用ArraySort这个方法Console.ReadKey();}public static void ArraySort()                         //写了一个ArraySort方法,对数组进行排序{int[] nums = new int[] { 2, 3, 43, 23, 243, 3 };    //定义一个数组,并赋初值int max = int.MinValue;                             //最大值int min = int.MaxValue;                             //最小值int sum = 0;                                        //给求和赋初值为0for (int i = 0; i < nums.Length; i++)               //for循环,对数组进行遍历{if (nums[i] > max)                              //求最大值{ max = nums[i];                           }if (nums[i] < min)                              //求最小值{min = nums[i];}sum += nums[i];                                 //求和}Console.WriteLine("最大值为:{0},最小值为:{1}", max, min);             //在控制台输出最大值、最小值Console.WriteLine("和为:{0},平均值为:{1}", sum, sum / nums.Length);   //在控制台输出和、平均数}
}
数组里面的人名分割成阿花|阿杰|阿健
string[] names = new string[] { "阿花", "阿杰", "阿健" };string result = "";//定义一个字符串result用来接收加|之后的元素
for (int i = 0; i <names.Length- 1; i++)//for循环遍历数组元素
{result += names[i] + "|";//result=names某个元素+|
}
Console.WriteLine(result+names[names.Length-1]);//在控制台输出结果,最后一个元素不加“|”
Console.ReadKey();
将一个整数数组的每一个元素进行处理:如果元素是正数则将这个位置的元素的值+1;如果元素是负数则将这个位置的元素的值-1;如果元素是0,则不变
int[] nums = new int[] { -2, 3, 43, 23, 243, 3,0};
for (int i = 0; i < nums.Length; i++)
{if (nums[i]>0){nums[i]++;}if(nums[i]<0){nums[i]--;}
}for (int i = 0; i < nums.Length; i++)
{Console.WriteLine(nums[i]+"t");
}
Console.ReadKey();
forr:反转,颠倒原来数组

将一个字符串数组的元素的顺序进行反转:{”我“,”是“,“好人”}{”好人“,”是“,”我“}。第i个和第length-i-1个进行交换
//方法一:Array.Reverse

string[] text = new string[] { "我", "是", "好人" };     //定义一个数组text并赋值
Array.Reverse(text);                                   //反转
for (int i = 0; i < str.Length; i++)                   //遍历数组
{Console.Write(str[i] + "t");                        //在控制台输出结果,注:t是水平制表符
}
Console.ReadKey();

//方法二:forr反转

Array.Sort(text);
for (int i = text.Length - 1; i >= 0; i--)
{Console.Write(text[i] + "t");
}
Console.ReadKey();

五、总结

本文介绍了C#中数组的基本知识和用法,包括数组的定义、访问、遍历和多维数组等。数组是C#编程中非常实用的数据结构,掌握数组的用法可以提高编程效率和代码质量。

本文发布于:2024-01-31 00:12:41,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170663116523843.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:基础
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23