【发布时间】:2016-03-18 10:39:49
【问题描述】:
有没有办法在 while 或 for 循环中为每个循环使用不同的语句? 示例:我有一个 int 数组,长度为 n,我想在每个索引处添加不同的特定值(当然类型相同)...
这样当 index 等于 n-1 时它就会停止。如果它们是一些语句,我知道该怎么做,但是如果要添加 100 个特定值怎么办。
更具体:
public static int[] ArrayPlay(int n)
{
int[] arr = new int[n];
while (arr[x] < n)
arr[0] = 3;
arr[1] = 12;
arr[2] = 176;
arr[3] = 4;
//so on...
return arr;
}
看起来像这样:
public static int[] ArrayPlay(int n)//4
{
int a = 0;
int[] arr = new int[n];
while ( a <= n) //lets say n is 4
arr[a] = 3; //arr[0]
a++;
arr[a] = 12; //arr[1]
a++;
arr[a] = 4; //arr[2]
a++;
arr[a] = 8; //arr[3]
a++; //(a=4 Stop! and return arr)
arr[a] = 7;
a++;
arr[a] = 12;
a++;
arr[a] = 22;
a++;
arr[a] = 18;
return arr;
}
它永远不会传递给 a++,因为第一个语句始终为真。
有没有办法在每个语句之间中断、检查条件并继续? 以及检查数组索引 nr 的属性或方法(我写了 arr[x]) x 是要与 n 进行比较的值。
public static int[] ArrayPlay2(int n)//4
{
int[] arr = new int[n];
for (int a = 0; a < arr.Length; a++)
{
arr[a] = 3; //arr[0]
arr[a] = 12; //arr[1]
arr[a] = 4; //arr[2]
arr[a] = 8; //arr[3] (a=4 Stop! and return arr)
arr[a] = 7;
arr[a] = 12;
arr[a] = 22;
arr[a] = 18;
}
return arr;
}
为什么上面的代码不起作用??
【问题讨论】:
-
there are 100 specific value to be added是什么意思?根本不清楚您要达到的目标,因此很难提供帮助。但是有什么反对if或switch的呢? -
不要使用数组。而是使用 List ,您可以在其中添加到末尾,而不是使用数组,您必须在构造数组时指定数组的大小。
-
停止谈论循环、if 语句、条件。用简单的英语解释你想做什么。
-
我想用最多 30 个特定值(元素)填充一个数组,元素的数量取决于 int n 参数,因为它决定了数组的长度。
标签: c# arrays loops statements