可能是一个非常简单的一个-我开始用c#和需要添加值到一个数组,例如:

int[] terms;

for(int runs = 0; runs < 400; runs++)
{
    terms[] = runs;
}

对于那些使用过PHP的人,下面是我试图在c#中做的事情:

$arr = array();
for ($i = 0; $i < 10; $i++) {
    $arr[] = $i;
}

当前回答

你不能直接这么做。然而,你可以使用Linq来做到这一点:

List<int> termsLst=new List<int>();
for (int runs = 0; runs < 400; runs++)
{
    termsLst.Add(runs);
}
int[] terms = termsLst.ToArray();

如果数组项在开始时不是空的,您可以先将其转换为List,然后再做您的工作。如:

    List<int> termsLst = terms.ToList();
    for (int runs = 0; runs < 400; runs++)
    {
        termsLst.Add(runs);
    }
    terms = termsLst.ToArray();

注意:不要错过在文件开头添加'using System.Linq;'。

其他回答

c#数组是固定长度的,并且总是有索引。遵循Motti的解决方案:

int [] terms = new int[400];
for(int runs = 0; runs < 400; runs++)
{
    terms[runs] = value;
}

请注意,这个数组是一个密集数组,一个400字节的连续块,您可以在其中删除内容。如果你想要一个动态大小的数组,使用List<int>。

List<int> terms = new List<int>();
for(int runs = 0; runs < 400; runs ++)
{
    terms.Add(runs);
}

int[]和List<int>都不是关联数组——这在c#中是Dictionary<>。数组和列表都是密集的。

你可以这样做

int[] terms = new int[400];
for (int runs = 0; runs < 400; runs++)
{
    terms[runs] = value;
}

或者,你也可以使用列表——列表的优点是,当实例化列表时,你不需要知道数组的大小。

List<int> termsList = new List<int>();
for (int runs = 0; runs < 400; runs++)
{
    termsList.Add(value);
}

// You can convert it back to an array if you would like to
int[] terms = termsList.ToArray();

编辑:a) List<T>上的for循环比List<T>上的foreach循环便宜2倍多,b)在数组上的循环比在List<T>上的循环便宜2倍左右,c)使用for在数组上的循环比使用foreach在List<T>上的循环便宜5倍(我们大多数人都这样做)。

一种方法是通过LINQ填充数组

如果你想用一个元素填充一个数组 你可以简单地写

string[] arrayToBeFilled;
arrayToBeFilled= arrayToBeFilled.Append("str").ToArray();

此外,如果你想用多个元素填充一个数组,你可以使用 循环中的前面代码

//the array you want to fill values in
string[] arrayToBeFilled;
//list of values that you want to fill inside an array
List<string> listToFill = new List<string> { "a1", "a2", "a3" };
//looping through list to start filling the array

foreach (string str in listToFill){
// here are the LINQ extensions
arrayToBeFilled= arrayToBeFilled.Append(str).ToArray();
}

你不能直接这么做。然而,你可以使用Linq来做到这一点:

List<int> termsLst=new List<int>();
for (int runs = 0; runs < 400; runs++)
{
    termsLst.Add(runs);
}
int[] terms = termsLst.ToArray();

如果数组项在开始时不是空的,您可以先将其转换为List,然后再做您的工作。如:

    List<int> termsLst = terms.ToList();
    for (int runs = 0; runs < 400; runs++)
    {
        termsLst.Add(runs);
    }
    terms = termsLst.ToArray();

注意:不要错过在文件开头添加'using System.Linq;'。

你不能简单地向数组中添加一个元素。您可以将元素设置在给定位置,如fallen888所述,但我建议使用List<int>或Collection<int>,如果需要将其转换为数组,则使用ToArray()。