Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未将新值添加到列表(C#)_C#_List - Fatal编程技术网

未将新值添加到列表(C#)

未将新值添加到列表(C#),c#,list,C#,List,我正在尝试创建一个客户列表。当用户插入新客户端的名称时,必须将该名称添加到列表中并显示在Messagebox中。预配置的客户端是Jack、Sandra、Anna、Tom和Bob。当我运行以下脚本并输入新的客户端名称时,会出现一个没有新名称的弹出窗口。为什么会这样 private void btnAddClient_Click(object sender, EventArgs e) { string msg = ""; List<strin

我正在尝试创建一个客户列表。当用户插入新客户端的名称时,必须将该名称添加到列表中并显示在Messagebox中。预配置的客户端是Jack、Sandra、Anna、Tom和Bob。当我运行以下脚本并输入新的客户端名称时,会出现一个没有新名称的弹出窗口。为什么会这样

    private void btnAddClient_Click(object sender, EventArgs e)
    {

        string msg = "";

        List<string> Clients = new List<string>();
        Clients.Add("Jack");
        Clients.Add("Sandra");
        Clients.Add("Anna");
        Clients.Add("Tom");
        Clients.Add("Bob");

        foreach (string val in Clients)
        {
            msg += "- " + val + "\n";
        }

        if (txtAddClient.Text == "")
        {
            MessageBox.Show("No client name has been entered!");
        }
        else
        {
            string newClient = txtAddClient.Text;
            Clients.Add(newClient);
            MessageBox.Show(msg);
        }
    }
private void btnAddClient\u单击(对象发送方,事件参数e)
{
字符串msg=“”;
列表客户端=新列表();
客户。添加(“杰克”);
客户。添加(“桑德拉”);
客户。添加(“安娜”);
客户。添加(“Tom”);
客户。添加(“Bob”);
foreach(客户端中的字符串val)
{
msg+=“-”+val+“\n”;
}
如果(txtAddClient.Text==“”)
{
Show(“没有输入客户端名称!”);
}
其他的
{
字符串newClient=txtAddClient.Text;
Clients.Add(newClient);
MessageBox.Show(msg);
}
}

,因为您没有将文本框中的数据附加到msg变量

在现有客户机上循环并附加变量,但一旦确定文本框不是空的,就向列表中添加内容并显示msg变量。您需要将输入的数据附加到msg变量

参见@Tisho的代码示例如何实现它-不想将他的代码复制为我自己的代码更新:

private List<string> Clients = new List<string>(){ "Jack", "Sandra", "Anna", "Tom", "Bob"};

private void btnAddClient_Click(object sender, EventArgs e)
{
    string msg = "";

    if (txtAddClient.Text == "")
    {
        MessageBox.Show("No client name has been entered!");
    }
    else
    {
        string newClient = txtAddClient.Text;
        Clients.Add(newClient);
        foreach (string val in Clients)
        {
            msg += "- " + val + "\n";
        }
        MessageBox.Show(msg);
    }
}
private List Clients=new List(){“杰克”、“桑德拉”、“安娜”、“汤姆”、“鲍勃”};
私有无效btnAddClient_单击(对象发送方,事件参数e)
{
字符串msg=“”;
如果(txtAddClient.Text==“”)
{
Show(“没有输入客户端名称!”);
}
其他的
{
字符串newClient=txtAddClient.Text;
Clients.Add(newClient);
foreach(客户端中的字符串val)
{
msg+=“-”+val+“\n”;
}
MessageBox.Show(msg);
}
}
private void btnAddClient\u单击(对象发送方,事件参数e)
{
字符串msg=“”;
列表客户端=新列表();
客户。添加(“杰克”);
客户。添加(“桑德拉”);
客户。添加(“安娜”);
客户。添加(“Tom”);
客户。添加(“Bob”);
如果(txtAddClient.Text==“”)
{
Show(“没有输入客户端名称!”);
}
其他的
{
字符串newClient=txtAddClient.Text;
Clients.Add(newClient);
//这是您要加入字符串的位置
//将新客户端添加到列表后
foreach(客户端中的字符串val)
{
msg+=“-”+val+“\n”;
}
MessageBox.Show(msg);
}
}
您必须这样做

msg += txtAddClient.Text;
然后

MessageBox.Show(msg);
公共部分类表单1:表单
{
列表客户端=新列表();
公共表格1()
{
初始化组件();
客户。添加(“杰克”);
客户。添加(“桑德拉”);
客户。添加(“安娜”);
客户。添加(“Tom”);
客户。添加(“Bob”);
}
私有无效btnAddClient_单击(对象发送方,事件参数e)
{
如果(txtAddClient.Text==“”)
{
Show(“没有输入客户端名称!”);
}
其他的
{
字符串msg=“”;
字符串newClient=txtAddClient.Text;
Clients.Add(newClient);
foreach(客户端中的字符串val)
{
msg+=“-”+val+“\n”;
}
MessageBox.Show(msg);
}
}
}

如果我这样做,我只能使用一次而不是多次。我将无法添加第二个名称。@烦人机器人你没有意义。解释一下more@Jon我需要能够更频繁地使用该按钮,因此每次按下该按钮时,必须将新名称添加到客户端列表中。在Tisho game me的例子中,只添加文本框中的文本,当我更改文本框中的文本并再次按下按钮时,名称只会更改,不会添加到先前插入的名称中。将始终有6个名称,并且我不可能在列表中获得7个名称,因为它不会被添加。所以您要修改列表中的现有项目吗?如果是这样,那是另一个问题。我们都回答了您最初的问题否,我想在列表中添加项目。根据Tisho给我的代码,我只能添加一项,但当我尝试添加另一项时,我添加的初始项会发生更改。
MessageBox.Show(msg);
public partial class Form1 : Form
{
    List<string> Clients = new List<string>();

    public Form1()
    {
        InitializeComponent();
        Clients.Add("Jack");
        Clients.Add("Sandra");
        Clients.Add("Anna");
        Clients.Add("Tom");
        Clients.Add("Bob");
    }

    private void btnAddClient_Click(object sender, EventArgs e)
    {
        if (txtAddClient.Text == "")
        {
            MessageBox.Show("No client name has been entered!");
        }
        else
        {
            string msg = "";
            string newClient = txtAddClient.Text;
            Clients.Add(newClient);
            foreach (string val in Clients)
            {
                msg += "- " + val + "\n";
            }
            MessageBox.Show(msg);
        }
    }
}