如何使 if 语句检查多个列表框是否为空
本文关键字:列表 是否 何使 if 语句 检查 | 更新日期: 2023-09-27 17:56:20
如何创建一个 if 语句来询问多个列表框是否为空?
这就是我到目前为止所拥有的...是否可以将其合并为一个 if 语句?
if (listBoxEmails.Items.Count < 1)
{
//Perform action
}
if (listBoxWebsites.Items.Count < 1)
{
//Perform action
}
if (listBoxComments.Items.Count < 1)
{
//Perform action
}
如果您尝试从窗体上的所有列表框中获取计数,则可以执行以下操作:
if (Controls.OfType<ListBox>().Any(z => z.Items.Count < 1))
{
// Do Something
}
神奇之处在于,如果在窗体上删除或添加更多列表框,则不必更改任何代码。如果要获取特定的列表框,可以将要包含的所有列表框上的 Tag
属性设置为类似于 CountedListBox
的内容,然后执行以下操作:
if (Controls.OfType<ListBox>().Any(z => z.Items.Count < 1 && ((string)z.Tag == "CountedListBox")))
{
// Do something
}
您可以在某个集合中使用列表框,并且使用 linq,您可以在一个语句中找到任何列表是否为空。 像这样的东西。当然,列表框集合可以有不同的方法。
private void ValidateListBoxes()
{
List<ListBox> listBoxes = new List<ListBox>();
listBoxes.Add(listBoxEmails);
listBoxes.Add(listBoxWebsites);
listBoxes.Add(listBoxComments);
bool isContainingEmptyList = listBoxes.Any(l => l.Items.Count < 1 || l.Items.Count==0);
}
if (listBoxEmails.Items.Count >= 0 && listBoxWebsites.Items.Count >= 0 &&
listBoxComments.Items.Count >= 0)
{
//perform action
}
这是我
能想到的最简单的解决方案,
if (listBoxEmails.Items.Any() && listBoxWebsites.Items.Any() && listBoxComments.Items.Any())
{
// Do something here,
}
这是
在WPF还是WinForms中?你可以做:
var performAction = (!listBoxEmails.Items.IsEmpty | !listBoxWebsites.Items.IsEmpty | !listBoxComments.Items.IsEmpty);
if (performAction)
{
}