我需要创建一个循环来显示所有素数直到某个数字。该号码将由用户自己输入。所以我想创建一个while循环来显示消息。只有我不能使用运算符“<”在数组和int之间。
int[] Prime = {2, 3, 5, 7, 11};
private void btnCalculate_Click(object sender, EventArgs e)
{
int OutputPrime = 0;
while (Prime < biggestPrime)
{
}
}
这会在while行给出以下错误: 运营商'&lt;'不能应用于'int []'和'int'
类型的操作数非常感谢任何帮助。 提前谢谢!
答案 0 :(得分:1)
Prime
是一个数组类型,它包含一些整数,所以你必须使用它的索引号访问它的值,但你试图直接访问Prime
这是一个数组而不是整数,所以比较整数类型biggestPrime
抛出异常你可以像这样实现
int[] Prime = {2, 3, 5, 7, 11};
private void btnCalculate_Click(object sender, EventArgs e)
{
int OutputPrime = 0;
for (int i = 0; i < Prime.Length; i++)
{
if (Prime[i] < biggestPrime)
{
// do your stuff
}
}
}
答案 1 :(得分:1)
Linq是你的朋友。
foreach (var prime in primes.TakeWhile(i => i <= biggestPrime))
{
}