ArrayList a = new ArrayList();
a[i] = txtSifre.Text; //ERROR CS0029
我想把来自文本框的字符串数据存储到一个数组列表中,但是,我遇到了一个转换错误:无法在C#中将型别'string'隐含转换为'system.collections.arraylist'
下面是完整的代码:
int i = 0;
ArrayList a = new ArrayList();
private void btnEkle_Click(object sender, EventArgs e)
{
Hashtable openwith = new Hashtable();
openwith.Add(txtKullaniciAdi.Text, txtSifre.Text);
foreach (var item in openwith)
{
foreach (DictionaryEntry de in openwith)
{
listBox1.Items.Add($"User Name : {de.Key} \t Password : {de.Value}");
}
}
a[i] = txtSifre.Text; //ERROR CS0029 !!
if(i>=1)
{
for (int J = 1; J < 2; J++)
{
if (a[J - 1].ToString() == a[J].ToString())
{
MessageBox.Show("You can not enter the same password again!!");
}
}
}
i++;
}
}
1条答案
按热度按时间6mw9ycah1#
正如Martheen提到的,使用List会更好。
示例:
不过,我也要谈几点。
1.在
openwith
上复制两个foreach
我认为第一个循环是无用的,你可以删除它,当然不删除它的内容。
2. If/Foreach区块
它似乎相当复杂,我不多,但它是可能的,我不明白所有的你试图做什么。
下面我再给大家多提几点建议:
List.Count
属性来计算清单中的项目数目。示例:
if (a.Count > 1) { ... }
List.Contains
方法检查项目是否在列表中。示例:
if (a.Contains(txtSifre.Text)) { ... }
希望能帮到你。