您好我刚刚开始使用c#并且正在练习数组,我的问题是我如何添加一个名为“steve”的名称来代码:
string[] names = new string[] {"Matt", "Joanne", "Robert"};
foreach (string i in names)
{
richTextBox1.AppendText(i + Environment.NewLine);
}
任何人都可以帮助我吗?
答案 0 :(得分:3)
你可以resize an array,但如果你需要一个大小发生变化的集合,最好只使用一个列表。
请注意,调整数组大小实际上只会在幕后创建一个大小合适的新数组,并复制所有数据
答案 1 :(得分:2)
阵容不能很好地运用这个想法。通常,人们使用List来做这种事情。
List<string> names = new List<string> {"Matt", "Joanne", "Robert"};
names.Add("Steve");
foreach (string i in names)
{
richTextBox1.AppendText(i + Environment.NewLine);
}
答案 2 :(得分:2)
创建阵列后,无法向阵列添加元素。你可以:
在将数组创建为文字之前添加元素:
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");
答案 3 :(得分:1)
虽然you can expand .NET arrays,但在这样的情况下,使用List<string>
会更好:
List<string> names = new List<string> {"Matt", "Joanne", "Robert"};
现在,您可以通过调用names
:
Add
添加新名称
names.Add("Steve");
注意:您可以使用AppendText
,而不是在循环中使用string.Join
,如下所示:
richTextBox1.AppendText(names.Join(Environment.NewLine, names));
答案 4 :(得分:1)
要使用您提供的代码将项目添加到数组,您可以执行以下操作:
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));
答案 5 :(得分:0)
该数组具有修复大小。起初你用三个元素创建了它,所以它将有三个元素。您可以修改任何元素:
names[index] = "value";
答案 6 :(得分:0)
您可以通过写入来从数组中创建列表:
List<string> list = names.OfType<string>().ToList();
然后像其他人提到的那样继续!
答案 7 :(得分:0)
调整数组大小的示例:
string[] names = { "Matt", "Joanne", "Robert" };
Array.Resize(ref names, names.Length + 1);
names[names.Length - 1] = "Steve";
史蒂夫在上面给出了适当的参考。