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

int[] terms;

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

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

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

当前回答

正如其他人所描述的那样,使用List作为中介是最简单的方法,但由于您的输入是一个数组,并且您不希望将数据保存在List中,因此我假定您可能关心性能。

最有效的方法可能是分配一个新数组,然后使用array。Copy或Array.CopyTo。如果你只是想在列表的末尾添加一个项目,这并不难:

public static T[] Add<T>(this T[] target, T item)
{
    if (target == null)
    {
        //TODO: Return null or throw ArgumentNullException;
    }
    T[] result = new T[target.Length + 1];
    target.CopyTo(result, 0);
    result[target.Length] = item;
    return result;
}

如果需要,我还可以发布以目标索引作为输入的Insert扩展方法的代码。它稍微复杂一点,使用静态方法Array。复制1-2次。

其他回答

如果你用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);

正如其他人所描述的那样,使用List作为中介是最简单的方法,但由于您的输入是一个数组,并且您不希望将数据保存在List中,因此我假定您可能关心性能。

最有效的方法可能是分配一个新数组,然后使用array。Copy或Array.CopyTo。如果你只是想在列表的末尾添加一个项目,这并不难:

public static T[] Add<T>(this T[] target, T item)
{
    if (target == null)
    {
        //TODO: Return null or throw ArgumentNullException;
    }
    T[] result = new T[target.Length + 1];
    target.CopyTo(result, 0);
    result[target.Length] = item;
    return result;
}

如果需要,我还可以发布以目标索引作为输入的Insert扩展方法的代码。它稍微复杂一点,使用静态方法Array。复制1-2次。

我将为另一个变体添加这个。我更喜欢这种类型的函数编码行。

Enumerable.Range(0, 400).Select(x => x).ToArray();

如果你真的需要一个数组,下面可能是最简单的:

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);
}

int [] terms = list.ToArray();

使用c#将列表值添加到字符串数组中,而不使用ToArray()方法

        List<string> list = new List<string>();
        list.Add("one");
        list.Add("two");
        list.Add("three");
        list.Add("four");
        list.Add("five");
        string[] values = new string[list.Count];//assigning the count for array
        for(int i=0;i<list.Count;i++)
        {
            values[i] = list[i].ToString();
        }

值数组的输出包含:

one

two

三个

four

five