IF报表预计会出现分号

时间:2014-02-26 23:45:17

标签: c#

我是c#的新手,这是一个非常基本的Windows窗体,可以找到一些Autocad变量。我只是想弄清楚它给我的原因;在我所有的“if”陈述之后。它必须是非常简单的......或者我接近它是错误的。

请注意,我在每个结尾处尝试使用和不使用分号,我仍然会收到错误。

    private void doneButton_Click(object sender, EventArgs e)
    {

        int findValue = 0;

        //int none = 0;
        //int clearAll = 1024;

        int endpoint = 1;
        int midpoint = 2;
        int center = 4;
        int node = 8;
        int quadrant = 16;
        int intersection = 32;
        int insertion = 64;
        int perpendicular = 128;
        int tangent = 256;
        int nearest = 512;
        int apparentIntersection = 2048;
        int extension = 4096;
        int parallel = 8192;

        if (cbxEndpoint.Checked) {findValue += endpoint};
        if (cbxMidpoint.Checked){findValue += midpoint};
        if (cbxCenter.Checked){findValue += center};
        if (cbxNode.Checked){findValue += node};
        if (cbxQuadrant.Checked){findValue += quadrant};
        if (cbxIntersection.Checked){findValue += intersection};
        if (cbxInsertion.Checked){findValue += insertion};
        if (cbxPerpendicular.Checked){findValue += perpendicular};
        if (cbxTangent.Checked){findValue += tangent};
        if (cbxNearest.Checked){findValue += nearest};
        if (cbxApparent.Checked){findValue += apparentIntersection};
        if (cbxExtension.Checked){findValue += extension};
        if (cbxParallel.Checked){findValue += parallel};
        if (cbxNone.Checked){findValue = 0};


     System.IO.StreamWriter file = new System.IO.StreamWriter(@"N:\C3D Support\MySettings.txt");
     file.WriteLine("OSNAPS," + findValue);
     file.Close();


      Environment.Exit(0);


      }

3 个答案:

答案 0 :(得分:3)

你应该像这样使用它

if (cbxEndpoint.Checked) {findValue += endpoint;}

每行代码后括号内的分号。 if块不需要用分号结束。

作为替代方案,因为你的if是一行,所以可以不带括号编写:

if (cbxEndpoint.Checked) findValue += endpoint;

仅当if为true时,如果要执行多行代码,则仅需要括号。 我在编写代码时更喜欢这种格式:

if (cbxEndpoint.Checked) 
{
   findValue += endpoint;
}

if (cbxEndpoint.Checked)
    findValue += endpoint;

答案 1 :(得分:1)

大括号之间的语句需要以分号结尾。不是'if'语句本身。

您的代码将更具可读性,如果您将每个语句放在一个新行上,您可以更轻松地找到这些错误,如下所示:

if (cbxEndpoint.Checked)
{
    findValue += endpoint
}

现在问题很明显了。

答案 2 :(得分:0)

如果错误显示在'if'关键字下,请确保检查以上语句以分号结尾。