繁体   English   中英

将文本框中的字符串添加到数组

[英]Add a string from a textbox to an array

我想将文本框中的字符串添加到数组,但是当我尝试将其添加到数组时,它给我一个错误(无法将char []转换为string []),这是我做错了什么,并且这也许是更好的方法吗?

    public string[] users = { "username" };
    public string[] passwords = { "password" };

    string[] users = textBox1.Text.ToArray();
    string[] passwords= textBox2.Text.ToArray();

您要使用char数组,而不是字符串数组。 这是因为textBox1.Text返回的是字符串类型,而不是字符串数组类型。 在字符串上调用ToArray()得出一个char数组类型。

    char[] user = textBox1.Text.ToArray();
    char[] password= textBox2.Text.ToArray();

您还应该考虑改为将string[] userstring[] password为字符串类型,因为我假设您仅在user中存储一个用户名。 如果要存储用户集合,则应正确命名变量,例如string[] users ,以免引起混淆。

userpassword已分配为单个元素数组。 数组是不可变的,不能附加到数组,因此不能执行以下操作:

public string[] user = { "username" };
public string[] password = { "password" };
//...
user.Append(textBox1.Text);
password.Append(textBox2.Text);

但是您可以使用以下方式重新分配userpassword数组:

public string[] user = { "username" };
public string[] password = { "password" };
//...
user = new[] { user[0], textBox1.Text };
password = new[] { password[0], textBox2.Text };

但是,这很笨拙。 您最好将userpassword定义为List<String> ,即:

public List<string> user = new List<string>() { "username" };
public List<string> password = new List<string>() { "password" };
//...
user.Add(textBox1.Text);
password.Add(textBox2.Text);

您应该使用char数组而不是string数组:

public string[] users = { "username" };
public string[] passwords = { "password" };

-

char[] users = textBox1.Text.ToArray();
char[] passwords= textBox2.Text.ToArray();

并且可以使用List<string>代替用户使用的List<string>和密码。

提示:最好将文本框重命名为txtUserName之类的txtUserName以使代码更txtUserName ,代码更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM