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("========================"); 
    }           
} 
} 
+0

@Nooob考虑访问codereview.stackexchange.com – ANeves 2013-10-22 11:28:31

不能写入在C#(q == 1),因为qbool1int

q只能与另一个布尔表达式比较,例如, truefalse,另一个布尔变量等

+0

好吧,我幸运地有一位老师......他只用了一个星期的时间就给我发回了电子邮件,而且他太遥远了,不敢用统治者来嘲笑我......甚至把它扔掉。这意味着我可以继续输入这些不起作用的悲惨代码,汉斯。弗雷德里克,谢谢你的回答。看起来我需要回顾一下编写我的bools的规则...... – Nooob 2010-10-24 15:01:09

只是如果有人读了这个问题,需要一个比较有boolint

(Convert.ToInt32(q) == 1)