【问题标题】:Hashtable application [closed]哈希表应用程序[关闭]
【发布时间】:2013-11-25 00:48:07
【问题描述】:

我正在处理的一个项目存在很大问题。我正在尝试制作一个 WFA,它将接受用户的输入,然后用户将选择使用哈希表添加他们键入的内容,或者使用添加和删除按钮从该哈希表中删除某些内容...

我真的很纠结如何将用户输入添加到哈希表中? 有人请帮忙!!!

namespace Lab6_Library2 {
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    private void buttonAdd_Click(object sender, EventArgs e)
    {
        Hashtable books = new Hashtable();
        books = textBoxInput.Text;


    }

    private void textbox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void buttonView_Click(object sender, EventArgs e)
    {
        MessageBox.Show("All The Books Added are: \n" + textBoxInput);//+   );
    }

【问题讨论】:

  • 命名空间名称,这是来自书籍章节还是学校作业?
  • 将哈希表对象存储为表单的成员。在文本框旁边为用户提供一个按钮,当点击它时,清除文本框并将其内容插入哈希表中。
  • 请不要使用Hashtable。相反,请使用通用的Dictionary

标签: c# hashtable


【解决方案1】:
  1. 如果您想保留收藏内容,您必须将其移至班级级别:

    public partial class Form1 : Form
    {
        HashSet<string> books = new HashSet<string>();
    
        // (...)
    }
    

    我在这里使用了通用的HashSet&lt;string&gt;,因为它适合您的情况。

  2. 要将项目添加到HashSet 实例,请使用Add 方法:

    private void buttonAdd_Click(object sender, EventArgs e)
    {
        books.Add(textBoxInput.Text);
    }
    
  3. 要删除项目,请使用Remove 方法:

    books.Remove(textBoxInput.Text);
    

【讨论】:

  • 你的意思是Dictionary?没有通用的Hashtable(有HashSetDictionary)...
  • 我的意思是HashSet&lt;T&gt;(没有使用Dictionary的键值关系。OP让我很困惑。感谢您的发现!
猜你喜欢
  • 2021-09-14
  • 2013-03-05
  • 2023-03-27
  • 2017-05-30
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
相关资源
最近更新 更多