CS0019操作员不能被应用于类型“布尔”与“INT”
此程序是响应于所述分配的操作数:CS0019操作员不能被应用于类型“布尔”与“INT”
“创建接受任意数目的整数参数和 显示器)命名萨姆(方法写一个Main()方法,该方法演示Sum()方法在传递一个,三个,五个或十个整数数组时正确工作 。将程序另存为 UsingSum.cs。“
从微软的Visual C#®2008年,面向对象的编程介绍,3E,乔伊斯·法雷尔
我的代码中的“//第1步:”部分得到CS0019错误,该公司声明,不能应用于类型“布尔”和“廉政”
我高度怀疑还有其他的问题与此代码,但它是在什么我有四个小时前有很大的改进的操作数...
using System;
public class UsingSum
{
public static void Main()
{
Sum();
}
public static void Sum()
{
//第一步:添加一个,三个,五个
int n;
int o;
int p;
int firstTotal;
string k, l, m;
bool q;
bool r;
bool s;
Console.Write("Type the number 1: ");
k = Console.ReadLine();
q = Convert.ToBoolean(k);
n = Convert.ToInt32(k);
Console.WriteLine();
if(q == 1)
{
Console.WriteLine("Input accepted.");
}
else
if(!(q == 1))
{
Console.WriteLine("Error: You didn't type the number 1. Please try again.");
Console.Write("Type the number 1: ");
k = Console.ReadLine();
q = Convert.ToBoolean(k);
n = Convert.ToInt32(k);
}
Console.Write("Type the number 3: ");
l = Console.ReadLine();
r = Convert.ToBoolean(l);
o = Convert.ToInt32(l);
Console.WriteLine();
if(r <= 2 || r >= 4)
{
Console.WriteLine("Error: You didn't type the number 3. Please try again.");
Console.Write("Type the number 3: ");
l = Console.ReadLine();
r = Convert.ToBoolean(l);
o = Convert.ToInt32(l);
}
else
if(r = 3)
{
Console.WriteLine("Input accepted.");
}
Console.Write("Type the number 5: ");
m = Console.ReadLine();
s = Convert.ToBoolean(m);
p = Convert.ToInt32(m);
Console.WriteLine();
if(s <= 4 || s >= 6)
{
Console.WriteLine("Error: You didn't type the number 5. Please try again.");
Console.Write("Type the number 5: ");
m = Console.ReadLine();
s = Convert.ToBoolean(m);
p = Convert.ToInt32(m);
}
else
if(s = 5)
{
Console.WriteLine("Input accepted.");
}
firstTotal = n + o + p;
Console.WriteLine("{0} + {1} + {2} = {3}", n, o, p, firstTotal);
//步骤2:输入为整数数组[10]
int a;
int b;
int c;
int d;
int e;
int f;
int g;
int h;
int i;
int j;
int unlimited;
int arrayTotal;
Console.Write("Enter first integer for addition: ");
a = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter second integer for addition: ");
b = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter third integer for addition: ");
c = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter forth integer for addition: ");
d = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter fifth integer for addition: ");
e = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter sixth integer for addition: ");
f = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter seventh integer for addition: ");
g = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter eighth integer for addition: ");
h = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter ninth integer for addition: ");
i = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter tenth integer for addition: ");
j = Convert.ToInt32(Console.ReadLine());
arrayTotal = a + b + c + d + e + f + g + h + i +j;
Console.WriteLine("The total of {0} + {1} + {2} + {3} + {4} + {5} + {6} + {7} + {8} + {9} = {10}",
a, b, c, d, e, f, g, h, i, j, arrayTotal);
//步骤3:无限的阵列另外
int[] arrayTwo;
string x;
string ADD;
int y;
int total;
while(Console.Write("Enter an integer for addition, or type ADD to calculate the sum: "))
{
x = Console.ReadLine();
y = Convert.ToInt32(x);
if(x = ADD)
{
Console.WriteLine("Calculating the total sum");
}
}
for(y = 0; y < arrayTwo.Length; ++y)
{
total = arrayTwo[y] + arrayTwo[y];
++arrayTwo[y];
Console.WriteLine("========================");
Console.WriteLine("=/n= The total is: {0} =/n=", total);
Console.WriteLine("========================");
}
}
}
不能写入在C#(q == 1)
,因为q
是bool
而1
是int
。
q
只能与另一个布尔表达式比较,例如, true
,false
,另一个布尔变量等
好吧,我幸运地有一位老师......他只用了一个星期的时间就给我发回了电子邮件,而且他太遥远了,不敢用统治者来嘲笑我......甚至把它扔掉。这意味着我可以继续输入这些不起作用的悲惨代码,汉斯。弗雷德里克,谢谢你的回答。看起来我需要回顾一下编写我的bools的规则...... – Nooob 2010-10-24 15:01:09
只是如果有人读了这个问题,需要一个比较有bool
的int
:
(Convert.ToInt32(q) == 1)
@Nooob考虑访问codereview.stackexchange.com – ANeves 2013-10-22 11:28:31