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

int[] terms;

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

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

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

当前回答

这里提供了关于如何使用数组来做到这一点的答案。

然而,c#有一个非常方便的东西叫做System。集合

集合是使用数组的理想替代品,尽管其中许多在内部使用数组。

例如,c#有一个名为List的集合,其功能与PHP数组非常相似。

using System.Collections.Generic;

// Create a List, and it can only contain integers.
List<int> list = new List<int>();

for (int i = 0; i < 400; i++)
{
   list.Add(i);
}

其他回答

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<>。数组和列表都是密集的。

这对我来说似乎不那么麻烦:

var usageList = usageArray.ToList();
usageList.Add("newstuff");
usageArray = usageList.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;'。

数组推送示例

public void ArrayPush<T>(ref T[] table, object value)
{
    Array.Resize(ref table, table.Length + 1); // Resizing the array for the cloned length (+-) (+1)
    table.SetValue(value, table.Length - 1); // Setting the value for the new element
}

如果你用c# 3编写代码,你可以用一行代码来实现:

int[] terms = Enumerable.Range(0, 400).ToArray();

这段代码片段假设您有一个System的using指令。Linq在你的文件顶部。

另一方面,如果您正在寻找可以动态调整大小的东西,这似乎是PHP的情况(我实际上从未学习过它),那么您可能希望使用List而不是int[]。下面是代码的样子:

List<int> terms = Enumerable.Range(0, 400).ToList();

但是请注意,不能通过设置terms[400]来简单地添加第401个元素。相反,你需要像这样调用Add():

terms.Add(1337);