我正在尝试做一个for循环来做某事。只要我,小于listview1中所选项目的数量。像这样:
for (int i = 0; i < listView1.(amountofselecteditems?); i++)
有办法做到这一点吗? 编辑: 这就是我现在所拥有的。
for (int i = 0; i < listView1.SelectedItems.Count; i++)
{
try
{
selectedClient = listView1.SelectedItems[i].Text;
Chatserver.DisconnectClient(selectedClient);
}
catch (Exception exception)
{
}
}
这是我的DisconnectClient方法:
public void DisconnectClient(string ClientName)
{
foreach (DictionaryEntry dictionaryEntry in this.CONNECTIONS_TABLE)
{
if ((string)dictionaryEntry.Value == ClientName)
{
try
{
((Socket)dictionaryEntry.Key).Close();
break;
}
catch (Exception )
{
}
}
}
}
提前致谢
答案 0 :(得分:4)
所选项目的集合称为SelectedItems
。如果你想获得它的长度,那么它将是SelectedItems.Count
。所以完整的表达式是listView1.SelectedItems.Count
。
在for
循环中,当您想要访问每个所选项目时,您可以这样做:
listView1.SelectedItems[i]
我在DisconnectClient
方法中看不到问题。要检查的一件事是所选项目的文本实际上与客户端名称匹配。你真的应该调试它。
此外,您应该使用泛型作为字典。
答案 1 :(得分:1)
我建议使用foreach循环而不是for循环,除非你需要跟踪索引:
foreach (var item in listView1.SelectedItems)
{
// item is a selected item
}