簡體   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