显示从文本框到列表框的输出,C#

本文关键字:输出 文本 显示 列表 | 更新日期: 2023-09-27 18:31:33

所以我在C# winforms中创建了一个LinkedList,现在我想在添加,删除和搜索节点值时直观地显示列表。我使用 3 个按钮控件,一个用于添加节点、删除节点,最后一个用于搜索节点值。然后,我有一个文本框,它应该从用户那里读取一个 int 值(例如 10),然后在列表框中将该值显示为链表。因此,Ive 创建了一个 Node 类和一个 linkedlist 类。Node 类保存一个值和一个对下一个节点的引用:

class Node
{
    public int value;
    public Node next;
    public int Value
    {
        get { return this.value; }
        set { this.value = value; } 
    }
    public Node Next
    {
        get;
        set;
    }
    public Node()
    {
        this.Next = null;
        this.value = 0;
    }
}

以及一个包含我所有方法的 LinkedList 类(我只会编写我的 add 方法,所以不会有太多代码)

public void Add(int val)
    {
       Node newNode = new Node();
       newNode.value = val;
       if (head == null)
           head = newNode;
       if (current.Next == null)
       {
           current.Next = newNode;
           current = newNode;
       }
       size++;
   }

所以,现在imm试图做的是编写一些代码,以便当我在文本框中输入整数时,它应该作为LinkedList出现在Listbox中(使用我的LinkedList类中的add方法)

我尝试在"添加"按钮的事件处理程序上执行此操作:

LinkedList l1 = new LinkedList();
l1.Add(textBox1);

但显然,这甚至不合逻辑。有人可以在这里指出我正确的方向吗?

显示从文本框到列表框的输出,C#

如果你的ListBox被调用listBox1你可以像这样添加它:

listBox1.Items.Add(something);

您可以直接添加字符串,但您可能希望添加一个LinkedList对象。您也可以像上面一样添加它。

listBox1.Items.Add(l1 );

..但在您将 ToString 方法添加到 LinkedList 类之前,它不会显示任何有用的内容:

public override string ToString()
{
    return "value : " + this.value; // maybe you want to display more here?
}

您决定要显示的内容嘿; 如果设置了链接,也许是指标..?我还建议向LinkedList类中添加一个或多个构造函数,以至少立即设置值:

public Node(int value_)
{
    this.Next = null;
    this.value = value_;
}

然后你上面的代码可以变成:

LinkedList l1 = new LinkedList(textBox1.Text);
listView1.Items.Add(l1);

你可能想要

l1.Add(Int32.Parse(textBox1.Text))

textBox1 是一个表示文本框的对象,而不是存储在文本框中的值(即 Text 属性)。 TextBox以字符串格式存储它们的值,因此使用 Int32.Parse()(从字符串(或其他值)转换为 int。

应该注意的是,Int32.Parse不是执行此操作的最安全方法,如果要验证该值是否确实是int则应使用Int32.TryParse()