【发布时间】:2018-02-18 13:33:32
【问题描述】:
上下文
我有两个用户输入字段,我想将输入数据保存到字符串数组列表中(NOT 在文件或数据库中)。
作为我未来工作的一部分,我必须按特定值执行搜索并列出/显示用户迄今为止输入的所有输入。此外,一个输入字段的值应该与另一个输入字段相关联。 例如-在第一个字段中用户写“Nice”,第二个字段他写了多个单词-“beautiful”、“Excellent”。这意味着最后两个词应该属于第一个词——“Nice”。很像一个同义词应用程序。
但是,此时,我的重点是存储输入,当用户单击 Save 按钮时会发生这种情况。
代码
实现接口的类:
class SynonymApp : ISynonym
{
private List <string[]> allItems = new List <string[]>();
public void AddSynonyms(IEnumerable<string> synonyms)
{
//adding objects at the end of the list. Am I doing right?
allItems.Add((synonyms.ToArray<string>()));
}
}
按钮点击事件发生的类:
private void button1_Click(object sender, EventArgs e)
{
List<string> userInput = new List<string>();
string wordInput = textBox1.Text;
if (wordInput == "") throw new Exception("Please give input");
char[] emptySpace = new char [] {' ', '\t'};
string[] synonymInput = textBox2.Text.Split(emptySpace);
userInput.Add(wordInput);
userInput.AddRange(synonymInput);
synonymApp.AddSynonyms(userInput);
}
问题
- 将字符串输入保存到数组列表中,而不是简单的
List或array是正确的选择吗?一般而言,List或Array的作用是什么? - 我的数组列表(即
private List <string[]> allItems = new List <string[]>();)会根据需要增长吗?
【问题讨论】:
-
您能澄清一下您在第 2 项中的要求吗?数组不会改变大小。当您向列表中添加更多项目时,列表会变得更大。
-
约翰,是的,我已经澄清了。
-
是的,您的列表会随着您需要添加新数组而增加。
-
也许您应该使用列表列表:
List<List<string>>
标签: c# arrays list arraylist generic-list