在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);
}
有人能帮我吗?
你可以调整数组的大小,但是如果你需要一个大小变化的集合,最好使用列表。
注意,调整数组大小实际上只是在后台创建一个你想要的大小的新数组,并复制所有的数据
数组不适合这个想法。通常,人们用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已经给出了合适的参考。