C# 一维数组

/*

 数组  

数组:相同数据类型的成员组成的一组数据

数组的定义:
int[] intArray;
float[] floatArray;
double[] doubleArray;

数组的初始化:

1在定义数组后,必须对其进行初始化才能够使用.
2初始化数组有两种方法:动态初始化和静态初始化.

格式为:
数据类型[] 数组名 = new 数据类型[数组长度][元素1,元素2,...];
动态初始化借助new运算符为数组元素分配内存空间,并赋初值.


动态初始化:
1 在不给定初值情况下,个元素取默认值
2例如: int[] intArry = new int[6];
3数值类型初始值为0,布尔类型初始值为false.字符串初始值为null

1给定初值的情况下,个元素取相应的初值
例如:
  int[] intArray1 = new int[4]{4,23,64,23};//定义大小为4 ,下标从零0到3
  int[] intArray1 = new int[4]{4,23,64,23,34};//error,数组越界 
  int[] intArray2 = new int[]{4,23,64,23};//系统会自动通过{}数据确定数组大小
  注意:此情况下数组大小不允许为变量.

  int[] myArry ;
  myArry = new int[2]{34,234};//动态初始化可以分开写

静态初始化:

1静态初始化的格式为:
  数据类型[] 数组名 = {元素1, 元素2, ...,元素n};
例如:
 int[] myArry = { 1, 2, 3, 6, 5 };

int[] myArry ;
myArry = { 1, 2, 3, 6, 5 };//error ,静态初始化不可以分开写;


数组元素

1 数组元素的访问: 数组名+ 下标
2数组下标: 数组元素在数组中的序号.
从0开始,到数组总个数减1;
下标可以是常量,也可以是变量;
3数组长度:arr.Length 表示数组的长度
例如:
 int k= 1;
 int[] a = new int[]{ 23, 22, 43, 6, 2 };
 Console.WriteLine(a[1]);//打印下标为1的值,结果为 22
 Console.WriteLine(a[k]);//打印下标为1的值,结果为 22
 k++;
 Console.WriteLine(a[k]);//打印下标为1的值,结果为 43
 //循环打印数组里的值
 for (int i = 0; i < a.Length; i++)
 {
     Console.WriteLine(a[i]);
 }

注意事项:
1系统不会检测 数组元素的下标是否越界,编程时,必须保持数组下标不能越界
2数组是一个整体,不能直接参加运算, 只能对单个元素进行处理,通常用到数组的地方也会用到循环

总结:
1数组通常与循环结合使用
2数组下标从0开始,最大到数组(Length-1)
3一定要注意下标越界问题
4注意几种循环的使用场合

<think>嗯,用户想了解C#一维数组的使用方法和示例。首先,我需要根据提供的引用内容来整理相关信息。记得系统级指令要求行内公式用$...$,独立公式用$$...$$,但这里主要是代码示例,可能用不上数学表达式。不过还是要检查是否有需要的地方。 首先,引用[1]和引用[4]提到了如何声明和初始化一维数组,包括使用for循环遍历。引用[2]展示了函数返回数组的例子,引用[3]有计算数组乘积的练习。我需要把这些内容整合起来,分步骤讲解。 用户可能需要基础语法、初始化方法、遍历方式、作为参数传递以及返回数组。要注意结构清晰,分点说明,每个部分加上示例代码。同时,生成相关问题,比如声明方式、常见操作、参数传递、与列表的区别,以及练习题。 还要注意引用标注,每个引用在回答中适当的位置添加标识,比如初始化部分引用[4],遍历引用[1]和[4],返回数组引用[2],计算乘积引用[3]。 需要确保代码示例正确,比如检查语法是否正确,是否有遗漏的括号或分号。另外,用户可能对一维数组的基本操作比较关注,所以示例要覆盖声明、初始化、遍历、传参和返回。 可能还需要比较一维数组和其他数据结构,比如列表,但引用中没有提到列表,所以可能需要在相关问题里提到,但回答中不展开。 最后生成的问题要相关,比如如何声明、遍历方法、参数传递、与列表区别、练习题目。这样用户可以有进一步学习的路径。</think>### C#一维数组使用方法和示例 一维数组是存储同类型元素的线性集合,通过索引访问元素。以下是具体使用方法和示例: --- #### 一、基础语法与初始化 1. **声明数组** ```csharp int[] numbers; // 声明未初始化 int[] nums = new int[5]; // 声明并分配5个int类型的内存空间[^4] ``` 2. **初始化方式** ```csharp // 方式1: 声明时直接赋值 int[] s = { 3, 3, 5, 6 }; // 引用[3] // 方式2: 分步初始化 int[] numbers = new int[5]; numbers[0] = 10; numbers[1] = 20; // 后续元素依次赋值[^4] ``` --- #### 二、数组操作示例 1. **遍历数组** - **for循环**: ```csharp for (int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); // 输出索引i对应的元素[^1][^4] } ``` - **foreach循环**: ```csharp foreach (string role in roles) { Console.Write(role + " "); // 输出师徒四人名称[^3] } ``` 2. **数组作为参数传递** ```csharp public static int Sum(int[] a) { int re = 1; foreach (int i in a) { re *= i; // 计算所有元素的乘积[^3] } return re; } ``` 3. **函数返回数组** ```csharp static int[] CreateArray(int size) { int[] newArray = new int[size]; for (int i = 0; i < size; i++) { newArray[i] = i + 1; // 生成1到size的数组[^2] } return newArray; } ``` --- #### 三、应用场景 - **数据批量处理**:如统计成绩、计算乘积[^3] - **动态数据存储**:通过函数生成并返回数组[^2] - **算法实现**:排序、搜索等基础操作 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值