向 C# 数组添加值

705

这可能是一个非常简单的问题 - 我刚开始学习C#,需要向数组中添加值,例如:

int[] terms;

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

如果您使用过PHP,这是我在C#中想要做的事情:

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

11
“terms[] = value;” 应该改为 “terms[] = runs;” 吗? - tymtam
在C#中,一旦创建了数组,就无法更改其大小。如果您想要类似于数组的东西,但可以添加/删除元素,请使用List<int>()。 - Kamran Bigdely
@KamranBigdely 不太准确,您可以将数组用作IList<>并使用LinQ重新分配值(using System.Linq):terms= terms.Append (21) .ToArray(); - Leandro Bardelli
1
@Leandro:每次运行时,您实际上都在创建一个新数组 --> terms = terms.Append(21).ToArray(); - Kamran Bigdely
是的,在分配时销毁,那又怎样? - Leandro Bardelli
事实上,PHP中你所熟悉的“数组”并不是计算机科学意义上的真正的数组。真正的数组是一块固定的连续的内存块。当你知道自己有一个真正的数组时,可以进行一些很好的优化,但是PHP实际上提供给你的是一个集合。现在,C#也有像List<int>这样的集合(这是你应该在这里使用的),但是当你请求一个数组时,它实际上会给你一个真正的数组。 - Joel Coehoorn
26个回答

1
int[] terms = new int[400];

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

1
         static void Main(string[] args)
        {
            int[] arrayname = new int[5];/*arrayname is an array of 5 integer [5] mean in array [0],[1],[2],[3],[4],[5] because array starts with zero*/
            int i, j;


          /*initialize elements of array arrayname*/
            for (i = 0; i < 5; i++)
            {
                arrayname[i] = i + 100;
            }

             /*output each array element value*/
            for (j = 0; j < 5; j++)
            {
                Console.WriteLine("Element and output value [{0}]={1}",j,arrayname[j]);
            }
            Console.ReadKey();/*Obtains the next character or function key pressed by the user.
                                The pressed key is displayed in the console window.*/
        }

1
            /*arrayname is an array of 5 integer*/
            int[] arrayname = new int[5];
            int i, j;
            /*initialize elements of array arrayname*/
            for (i = 0; i < 5; i++)
            {
                arrayname[i] = i + 100;
            }

0

这是一种处理向Array添加新数字和字符串的方法:

int[] ids = new int[10];
ids[0] = 1;
string[] names = new string[10];

do
{
    for (int i = 0; i < names.Length; i++)
    {
        Console.WriteLine("Enter Name");
        names[i] = Convert.ToString(Console.ReadLine());
        Console.WriteLine($"The Name is: {names[i]}");
        Console.WriteLine($"the index of name is: {i}");
        Console.WriteLine("Enter ID");
        ids[i] = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine($"The number is: {ids[i]}");
        Console.WriteLine($"the index is: {i}");
    }


} while (names.Length <= 10);

有多种方法可以向列表中添加不同的元素。但问题明确指出了要特别使用数组。 - theAccountant.py

0
你可以使用列表来实现这个功能。以下是具体步骤:
List<string> info = new List<string>();
info.Add("finally worked");

如果你需要返回这个数组,可以这样做

return info.ToArray();

0

使用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();
        }

值数组的输出包括:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接