C# 在C中为数组添加值

C# 在C中为数组添加值,c#,C#,您好,我刚开始学习c语言,正在练习数组,我的问题是如何添加一个名为steve的名称,即以下代码的数组: string[] names = new string[] {"Matt", "Joanne", "Robert"}; foreach (string i in names) { richTextBox1.AppendText(i + Environment.NewLine); } 有人能帮我吗?阵列不适合这种想法。通常,人们用列表来做这类事

您好,我刚开始学习c语言,正在练习数组,我的问题是如何添加一个名为steve的名称,即以下代码的数组:

    string[] names = new string[] {"Matt", "Joanne", "Robert"};

    foreach (string i in names)
    {
        richTextBox1.AppendText(i + Environment.NewLine);
    }

有人能帮我吗?

阵列不适合这种想法。通常,人们用列表来做这类事情

List<string> names = new List<string> {"Matt", "Joanne", "Robert"};

names.Add("Steve");

foreach (string i in names)
{
    richTextBox1.AppendText(i + Environment.NewLine);
}
尽管如此,在这种情况下,最好列出:

注意:您可以使用string.Join,而不是在循环中使用AppendText,如下所示:

richTextBox1.AppendText(names.Join(Environment.NewLine, names));

数组具有固定大小。首先,您已经用三个元素创建了它,所以它将有三个元素。可以修改任何图元,以便:

names[index] = "value";
但是,如果您需要更改集合大小的集合,则最好只使用列表


请注意,调整数组大小实际上只会在幕后创建一个大小与您所需大小相同的新数组,并复制所有数据

一旦创建了数组,就无法向数组中添加元素。你可以:

在将数组创建为文字之前添加元素:

string[] names = new string[] {"Matt", "Joanne", "Robert", "Steve", "Another name", "Tons of other names"};
或者您可以使用一个集合,该集合允许您在创建后添加元素,例如列表。若要使用列表而不是数组,请确保在默认情况下应包括主文件顶部使用System.Collections.Generic的以下指令。现在您可以执行以下操作:

List<string> names = new List<string> {"Matt", "Joanne", "Robert"};
names.Add("Steve");
names.Add("Another one");

要使用提供的代码将项目添加到阵列中,可以执行以下操作:

string[] names = new string[] { "Matt", "Joanne", "Robert" };

Array.Resize(ref names, names.Length + 1);
names[names.Length - 1] = "Steve";

foreach (string i in names)
{
    richTextBox1.AppendText(i + Environment.NewLine);
}
考虑改用此代码,它使用列表:

List<string> names = new List<string> { "Matt", "Joanne", "Robert" };
names.Add("Steve");     // Add a new entry
richTextBox1.AppendText(String.Join(Environment.NewLine, names));

您可以通过写入以下内容从数组中创建列表:

List<string> list = names.OfType<string>().ToList();

然后像其他人提到的那样继续

调整阵列大小的示例:

string[] names = { "Matt", "Joanne", "Robert" };
Array.Resize(ref names, names.Length + 1);
names[names.Length - 1] = "Steve";

史蒂夫在上面给出了正确的参考。

你的意思是追加吗?数组不可调整大小。或者只是换一个?姓名[0]=steve;到目前为止你有试过什么吗?补充,史蒂夫。可能太明显了。如果你想在数组中添加东西,为什么不使用列表呢?@Steve该方法的名称用词不当。它从不调整数组的大小。它只是创建一个更大的新数组。这与实际调整大小明显不同。托尼,我想我当时分心了22分钟:-
List<string> list = names.OfType<string>().ToList();
string[] names = { "Matt", "Joanne", "Robert" };
Array.Resize(ref names, names.Length + 1);
names[names.Length - 1] = "Steve";