C# for 循环错误 > is invalid

标签 c# for-loop

<分区>

我正在尝试制作素数生成器。

我得到三个错误:

<21,22> 预计 >

<21,23>表达式>无效

<21,24> 预计;

来自挪威语的翻译错误。他们可能不准确

using System;
namespace Primtall
{
class Program
{
    static void Main(string[] args)
    {
        Generator G = new Generator();
        G.gen();
    }
}


public class Generator
{
    int a = 0;
    int divident = 0;

    public void gen()
    {
        for (a; a<100; a++;)
        {
            for (divident; divident <= 50;divident++)
            {
                int div = a/divident;
                if((div % 1) == 0)
                {
                    Console.WriteLine(a);
                }
                else
                {
                    break;
                }
            }
        }
    }
}
}

最佳答案

不需要将 a 和 divident 变量定义为字段。除了在循环中,您不会使用它们。事实上,使用类成员(字段)作为循环变量会立即将您的类呈现为“非线程安全”,因为如果两个单独的线程在同一个 Generator 实例上执行 gen() 方法,它们都将无法获得正确的结果

像这样更改您的生成器类:(除数从 1 开始以避免被零除异常)

public class Generator
{
    public void gen()
    {
        for (int a = 0; a < 100; a++)
        {
            for (int divident = 1; divident <= 50; divident++)
            {
                int div = a / divident;
                if ((div % 1) == 0)
                {
                    Console.WriteLine(a);
                }
                else
                {
                    break;
                }
            }
        }
    }
}

关于C# for 循环错误 > is invalid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497706/

相关文章:

python - 如何生成不同概率的骰子?

c# - 这个设计是个好主意吗——接口(interface)和抽象类

c# - 使用 Console.WriteLine 中断代码行

c# - Entity Framework 4 和同义词

java - for 循环中缺少 return 语句 - return int 表示商店中所有 Customer 对象的平均年龄

java - for 循环语法有什么问题?

java - 避免两个 for 循环并将它们合并为一个的更有效方法?

c# - 多术语搜索 NEST C#

javascript - 从外键调用 dbo.Employee 中的 FirstName

python - 列表索引给出错误的值?