在c#中为数组添加值

本文关键字:添加 数组 | 更新日期: 2023-09-27 17:49:36

你好,我刚开始学习c#,正在练习数组,我的问题是如何添加一个名为"steve"的名称,该代码的数组:

    string[] names = new string[] {"Matt", "Joanne", "Robert"};
    foreach (string i in names)
    {
        richTextBox1.AppendText(i + Environment.NewLine);
    }
有人能帮我吗?

在c#中为数组添加值

你可以调整数组的大小,但是如果你需要一个大小变化的集合,最好使用列表。

注意,调整数组大小实际上只是在后台创建一个你想要的大小的新数组,并复制所有的数据

数组不适合这个想法。通常,人们用List来做这类事情。

List<string> names = new List<string> {"Matt", "Joanne", "Robert"};
names.Add("Steve");
foreach (string i in names)
{
    richTextBox1.AppendText(i + Environment.NewLine);
}

一旦数组被创建,你就不能向数组中添加元素。您可以:

  • 在数组创建之前添加元素:

    string[] names = new string[] {"Matt", "Joanne", "Robert", "Steve", "Another name", "Tons of other names"};
    
  • 或者您可以使用允许您在创建后添加元素的集合,例如List。要使用List而不是数组,请确保在主文件的顶部有以下指令using System.Collections.Generic(默认情况下应该包含)。现在你可以这样做:

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

虽然您可以展开。net数组,但在这种情况下,您最好使用List<string>:

List<string> names = new List<string> {"Matt", "Joanne", "Robert"};
现在您可以通过调用Add: 为names添加一个新名称
names.Add("Steve");

注意:与其在循环中使用AppendText,不如使用string.Join,如下所示:

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

要使用您提供的代码将Item添加到数组中,您可以这样做:

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:

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

数组有固定的大小。一开始你用三个元素创建了它,所以它将有三个元素。你可以这样修改任何元素:

names[index] = "value";

你可以从数组中创建一个列表:

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

,然后像其他人提到的那样从那里继续!

调整数组大小的示例:

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

Steve已经给出了合适的参考。