1. 定義
配列は、同じ型の要素を格納する固定サイズの順次コレクションです。. 配列は、データを格納するために使用されるコレクションです. 一般に、配列は同じ型の変数のコレクションであると考えられています.
配列は同じデータ型の値の集合です.
データは参照型なのでヒープメモリに格納されます.2
.フォーマット
データ型[]変数名=新しいデータ型[サイズ]
例:int [] a = new int[10]
a. 最初に配列を宣言してから、配列を初期化します
int[] a;
int[] a = new int[10];
b. 配列
int[] a = {1,2を割り当てます,3,4,5,6} 配列の宣言中 ;
c. 配列の作成と初期化
int[] a = new int[5] {1,2,3,4,5};
int[] a = new int[ ] {1,2,3,4,5}; (サイズは省略可能)
3. 例
(1) 1, 1, 2, 3, 5, 8... のシーケンスの最初の 20 個の項目を検索し、それらを合計します。
//定义一个长度20的数组
int[] a = new int[20];
//先定义a[0],a[2]的值,然后通过相邻数相加得下一个数的规律,依次得出数组所有结果
a[0] = 1;
a[1] = 1;
int sum = 0;
for (int i = 2; i < 20; i++)
{
a[i] = a[i - 1] + a[i - 2];//得到数组中每一个下标对应的值
}
for (int j = 0; j < 20; j++)
{
Console.Write(a[j] + " ");//每循环一次,就输出一次
sum += a[j];//同时把每一个数加起来
}
Console.WriteLine();//换行,看着比较美观,可不要
Console.WriteLine(sum);
(2). 長さ 10 の整数配列を定義し、10 個の整数をループに入力します。次に、整数を入力し、整数を検索し、出力添字を見つけ、見つからない場合はプロンプトを出します
Console.WriteLine("输入十个整数:");
int[] a = new int[10];
for (int i = 0; i < 10; i++)
{
Console.Write("第" + (i + 1) + "个整数:");
int n = int.Parse(Console.ReadLine());
a[i] = n;
}
Console.WriteLine("请输入一个整数:");
int flag = 0;//判断输入的整数是否存在
int num = int.Parse(Console.ReadLine());
for (int j = 0; j < 10; j++)
{
if (num == a[j])
{
Console.WriteLine("找到其下标为:" + j);
flag = 1;//如果存在,flag则为0
}
}
if (flag == 0)
{
Console.WriteLine("没有找到");}
(3). 次のような配列があります: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}要件 上記の配列で値が 0 の項目を削除し、0 以外の値を新しい配列に格納すると、生成された新しい配列は次のようになります: int newArr [] ={1,3,4,5, 6,6,5, 4,7,6,7,5}
//思路:先找到该数组的长度,然后再把不为0的值存入新的数组
//自己做的方法太复杂了,可以跳过看下一个老师教的
int[] oldArr = {
1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5 };//长度16
int n = 0;//判断0的数量,用来(oldArr.Length-n)得到非0数组的长度
int length;
for (int i = 0; i < oldArr.Length; i++)
{
if (oldArr[i] == 0){
n++;}
}
int m = 0;//判断0的数量,
length = oldArr.Length - n;//得到长度12
int[] newArr = new int[length];//新定义一个数组
//这个是新数组的下标
for (int i = 0; i < length; i++)
{
//这个是旧数组的下标
//假设i=6,则m=2,所以newArr[6]=oldArr[8]
//此时newArr数组存了:1,3,4,5,6,6
for (int k = i + m; k < oldArr.Length; k++)
{
if (oldArr[k] == 0)
{
m++;
continue;
}
newArr[i] = oldArr[k];
break;
//若这里不中断for循环,
//k就一直加到旧数组长度,newArr[i]就一直变换
}
}
for (int j = 0; j < length; j++)
{
Console.Write(+newArr[j] + " ");
}
int[] oldArr = {
1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5 };
int num = 0;
for (int i = 0; i < oldArr.Length; i++)
{
if (oldArr[i] == 0)
{
num++;
}
}
int[] newArr = new int[oldArr.Length - num];
int t = 0;
for (int i = 0; i < oldArr.Length; i++)
{
if (oldArr[i] == 0)
{
}else{
//将不为0的数放在新数组中
newArr[t]=oldArr[i];
t++;
}
}
for (int i = 0; i < newArr.Length; i++)
{
Console.Write(newArr[i]);
}