简单如果其他C#声明

时间:2012-12-04 17:59:29

标签: c# if-statement

    private void ProcessFrame(object sender, EventArgs arg)
    {
        Wrapper cam = new Wrapper();

        //show the image in the EmguCV ImageBox
        WebcamPictureBox.Image = cam.start_cam(capture).Resize(390, 243, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC).ToBitmap();
        FaceDetectedLabel.Text = "Faces Detected : " + cam.facesdetected.ToString();
    }

我正在开发一个C#windows应用程序。我遇到了一个简单的问题:

如何使用条件执行if else:如果“ cam.facesdetected.ToString()”如果等于或大于2,请执行其他操作。

我尝试了这个,但它似乎不起作用。谁能帮我?

        cam.facesdetected = abc;
        MessageBox.Show("The detected faces is:" + abc);

        if (abc >= 2)
        {
            //Do action 
        }

        else
        {
            //Do nothing
        }

5 个答案:

答案 0 :(得分:2)

你可以:

if (Convert.ToInt32(abc) > 2)
   DoWork()

虽然将ABC声明为一个整数开头可能是明智的,但如果它总是一个整数。

答案 1 :(得分:2)

我相信你的if语句倒退了。

abc = cam.facesdetected;

现在,您可以按照列出的abc进行操作。

答案 2 :(得分:0)

您只能通过右侧变量

指定左侧变量
LHS=RHS

你错误地分配了 它必须是abc = cam.facesdetected;

你可以检查它是否大于&使用TryParse方法

等于2
   bool result = Int32.TryParse(abc, out number);
      if (result)
      {
         if(number>=2)
        {
          //dowork;   
         }   
      }

答案 3 :(得分:0)

我认为您应该在不指定任何新变量的情况下使用它。无需使用abc变量。您可以直接使用cam.facesdetected(我认为它是一个数字),如下所示:

    MessageBox.Show("The detected faces is:" + cam.facesdetected.ToString());

    if (cam.facesdetected >= 2)
    {
        //Do action 
    }

    else
    {
        //Do nothing
    }

答案 4 :(得分:0)

使用数字时不要使用.ToString()

您正在以错误的方式分配变量,这应该是

var abc = cam.facesdetected;

如果cam.facesdetected不是数字,则使用

var abc = Convert.ToInt32(cam.facesdetected);

然后

if (Convert.ToInt32(abc) >= 2)
{
   //Do action 
}