如何在C#中使用字符串变量作为数据类型名称

时间:2013-04-19 19:48:05

标签: c# list

我有一个单词列表:

List<string> listofwords;

public void list()
{
   listofwords = new List<string>();
   listofwords.Add("tackle");
   listofwords.Add("hinder");
   listofwords.Add("mentor");
}

每个单词都包含多个数据:

public List<string> tackle;
public List<string> hinder;
public List<string> mentor;

public void A()
{  
   mentor = new List<string>();
   mentor.Add("tern");
   mentor.Add("tome");
   mentor.Add("tone");

   tackle = new List<string>();
   tackle.Add("alce");
   tackle.Add("cake");
   tackle.Add("calk");
   tackle.Add("cate");
   tackle.Add("kale");
   tackle.Add("lace");

   hinder = new List<string>();
   hinder.Add("deni");
   hinder.Add("dine");
 }

在按钮点击事件中,我想查看一个列表。列表的名称存储在字符串变量 val

private void button1_Click(object sender, EventArgs e)
{
   if (val.Contains(textBox1.Text )))
      val.Remove(textBox1.Text);
}

如何使用 val 检查列表?

1 个答案:

答案 0 :(得分:6)

考虑使用Dictionary来解决此问题。密钥类型应为String,值类型应为List<String>

您的代码看起来像这样:

_listOfWords = new Dictionary<String, List<String>>();
_listOfWords.Add("mentor", new List<String>
                                    {
                                        "tern",
                                        "tome",
                                        "tone"
                                    });
_listOfWords.Add("tackle", new List<String>
                                    {
                                        "alce",
                                        "cake",
                                        // etc.
                                    });

然后,您可以从字典中获取单词的“数据”。 List<String> list = _listOfWords[val];并随意使用它。