Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:带有listView的if-else语句_C#_Forms_Listview_If Statement - Fatal编程技术网

C#:带有listView的if-else语句

C#:带有listView的if-else语句,c#,forms,listview,if-statement,C#,Forms,Listview,If Statement,我试图做的是检查listView(第5列)是否包含任何带有“Yes”字样的项。如果它写“很棒”,如果列中根本不包含任何带有“是”字样的项目,则写“糟糕” 现在发生的是,我的程序只写了Bad(else语句),即使列中确实包含一个有“Yes”字样的项 我怎样才能解决这个问题 foreach (ListViewItem item in listView1.Items) { if (item.SubItems[5].Text.Contains("Yes")) { // Do yo

我试图做的是检查listView(第5列)是否包含任何带有“Yes”字样的项。如果它写“很棒”,如果列中根本不包含任何带有“是”字样的项目,则写“糟糕”

现在发生的是,我的程序只写了Bad(else语句),即使列中确实包含一个有“Yes”字样的项

我怎样才能解决这个问题

foreach (ListViewItem item in listView1.Items) {
    if (item.SubItems[5].Text.Contains("Yes")) {
        // Do your work here
        labelContainsVideo2.Text = "GREAT";
        labelContainsVideo2.ForeColor = System.Drawing.Color.Green;
    } else {
        labelContainsVideo2.Text = "BAD";
        labelContainsVideo2.ForeColor = System.Drawing.Color.Red;
    }
}
也许是为了这个案子

foreach (ListViewItem item in listView1.Items)
{
  if (item.SubItems[5].Text.ToUpper().Contains("YES"))
  {
    // Do your work here
    labelContainsVideo2.Text = "GREAT";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Green;
  }
  else
  {
    labelContainsVideo2.Text = "BAD";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Red;
  }
}
此外,请记住,这样它将只计算最后一个
。如果要显示所有项目状态,则应具有标签数组或其他内容。如果你想知道任何项目是否包含“是”,你应该按照@ZombieSheep的答案来回答。

也许是这样

foreach (ListViewItem item in listView1.Items)
{
  if (item.SubItems[5].Text.ToUpper().Contains("YES"))
  {
    // Do your work here
    labelContainsVideo2.Text = "GREAT";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Green;
  }
  else
  {
    labelContainsVideo2.Text = "BAD";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Red;
  }
}

此外,请记住,这样它将只计算最后一个
。如果要显示所有项目状态,则应具有标签数组或其他内容。如果您想知道任何项目是否包含“是”,则应遵循@ZombieSheep answer。

如果列表中的最后一项不包含“是”,则无论其他项目包含什么,输出都将是“坏的”

试试这个

string message = "BAD";
var msgColor = System.Drawing.Color.Red;
foreach (ListViewItem item in listView1.Items)
{
    if (item.SubItems[5].Text.Contains("Yes"))
    {
        message = "GREAT";
        msgColor = System.Drawing.Color.Green;
        break;   // no need to check any more items - we have a match!
    }
}
labelContainsVideo2.Text = message ;
labelContainsVideo2.ForeColor = msgColor;

如果列表中的最后一项不包含“是”,则无论其他项包含什么,输出都将为“坏”

试试这个

string message = "BAD";
var msgColor = System.Drawing.Color.Red;
foreach (ListViewItem item in listView1.Items)
{
    if (item.SubItems[5].Text.Contains("Yes"))
    {
        message = "GREAT";
        msgColor = System.Drawing.Color.Green;
        break;   // no need to check any more items - we have a match!
    }
}
labelContainsVideo2.Text = message ;
labelContainsVideo2.ForeColor = msgColor;
试试这个:

if(listView1.Items.Cast<ListViewItem>().Any(i => i.SubItems[5].Text.ToLower().Contains("yes"))){
    labelContainsVideo2.Text = "GREAT";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Green;
}
else
{
    labelContainsVideo2.Text = "BAD";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Red;
}
if(listView1.Items.Cast().Any(i=>i.SubItems[5].Text.ToLower().Contains(“yes”)){
labelContainsVideo2.Text=“很棒”;
LabelContainesVideo2.ForeColor=System.Drawing.Color.Green;
}
其他的
{
labelContainsVideo2.Text=“坏”;
LabelContainesVideo2.ForeColor=System.Drawing.Color.Red;
}
试试这个:

if(listView1.Items.Cast<ListViewItem>().Any(i => i.SubItems[5].Text.ToLower().Contains("yes"))){
    labelContainsVideo2.Text = "GREAT";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Green;
}
else
{
    labelContainsVideo2.Text = "BAD";
    labelContainsVideo2.ForeColor = System.Drawing.Color.Red;
}
if(listView1.Items.Cast().Any(i=>i.SubItems[5].Text.ToLower().Contains(“yes”)){
labelContainsVideo2.Text=“很棒”;
LabelContainesVideo2.ForeColor=System.Drawing.Color.Green;
}
其他的
{
labelContainsVideo2.Text=“坏”;
LabelContainesVideo2.ForeColor=System.Drawing.Color.Red;
}

您能提供一些您正在使用的数据吗?您是否意识到唯一将计数的
项是最后一项?您是否已检查此操作是否在数据绑定后执行?通过更改将文本设置为:labelContainsVideo2.text=item.SubItems[5]的行,您可以轻松调试此操作;您能提供一些您正在使用的数据吗?您是否意识到唯一将计数的
项是最后一项?您是否已检查此操作是否在数据绑定后执行?通过更改将文本设置为:labelContainsVideo2.text=item.SubItems[5]的行,您可以轻松调试此操作;当我将文本转换为大写时,它应该搜索“是”,而不是“是”。当我将文本转换为大写时,它应该搜索“是”,而不是“是”。