C# 我不知道';我不明白为什么我会收到以下错误

C# 我不知道';我不明白为什么我会收到以下错误,c#,syntax-error,C#,Syntax Error,我很确定这一切都是对的。我在想我的语法有点错误,但我没有运气尝试用谷歌搜索它为什么是错误的。这是我的密码: namespace Exercise1 { class Program { static void Main(string[] args) { Values aValue = new Values(); //set array int[] number = new in

我很确定这一切都是对的。我在想我的语法有点错误,但我没有运气尝试用谷歌搜索它为什么是错误的。这是我的密码:

namespace Exercise1
{
    class Program
    {
        static void Main(string[] args)
        {
            Values aValue = new Values();

            //set array
            int[] number = new int[12];

            //ask user for input
            Console.WriteLine("Please enter a value between 0 and 10: ");
            aValue.InValue = Console.ReadLine(); //Read input
            aValue.IntValue = int.Parse(aValue.InValue); //convert string to int

            while (aValue.IntValue != -99) //user has not stopped program

                if (aValue.IntValue > 10 || aValue.IntValue < 0) //valid value
                    Console.WriteLine("Thank you! Please enter '-99' when you are ready to finsih.");
            aValue.InValue = Console.ReadLine(); //read input
            aValue.IntValue = int.Parse(aValue.InValue); //convert string to int
            number[aValue.IntValue]++; //add input to corresponding array box

????        else 
                Console.WriteLine("You have entered an invalid value.");
            aValue.InvalidValueCount()++;

            namespace Exercise1
            {
                class Values
                {
                    private string inValue;
                    public string InValue { get; set; }

                    private int intValue;
                    public int IntValue { get; set; }

                    private int validValueCount;
                    public int ValidValueCount { get; set; }

                    private int invalidValueCount;
                    public int InvalidValueCount() { 
                        invalidValueCount = 0;
                        return invalidValueCount;
                    }
                }
           }
名称空间练习1
{
班级计划
{
静态void Main(字符串[]参数)
{
Values aValue=新值();
//集合数组
int[]编号=新int[12];
//请求用户输入
Console.WriteLine(“请输入一个介于0和10之间的值:”);
aValue.InValue=Console.ReadLine();//读取输入
aValue.IntValue=int.Parse(aValue.InValue);//将字符串转换为int
while(aValue.IntValue!=-99)//用户尚未停止程序
如果(aValue.IntValue>10 | | aValue.IntValue<0)//有效值
Console.WriteLine(“谢谢!准备查找时请输入“-99”);
aValue.InValue=Console.ReadLine();//读取输入
aValue.IntValue=int.Parse(aValue.InValue);//将字符串转换为int
数字[aValue.IntValue]++;//将输入添加到相应的数组框中
其他的
WriteLine(“您输入了一个无效的值。”);
aValue.InvalidValueCount()++;
命名空间练习1
{
阶级价值观
{
私有字符串无效;
公共字符串无效{get;set;}
私有int值;
公共int值{get;set;}
私有整数有效值计数;
public int ValidValueCount{get;set;}
私人残疾人数;
public int InvalidValueCount(){
invalidValueCount=0;
返回invalidValueCount;
}
}
}
错误消息如下:

无效的表达式术语“else”
;预期(在“else”之后)
只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句(在“
number[aValue.IntValue]+;
”)之后
递增或递减运算符的操作数必须是变量、属性或索引器(在“
aValue.InvalidValueCount()++;
”之后)


感谢您的帮助!

在while/if/else之后,您需要在多行代码块周围使用大括号

        while (aValue.IntValue != -99) //user has not stopped program
        { 
            if (aValue.IntValue > 10 || aValue.IntValue < 0) //valid value
            {
                Console.WriteLine("Thank you! Please enter '-99' when you are ready to finsih.");
                aValue.InValue = Console.ReadLine(); //read input
                aValue.IntValue = int.Parse(aValue.InValue); //convert string to int
                number[aValue.IntValue]++; //add input to corresponding array box
            }
            else 
            {
                Console.WriteLine("You have entered an invalid value.");
                aValue.InvalidValueCount()++; // <-- this is your error
            }
        }
while(aValue.IntValue!=-99)//用户尚未停止程序
{ 
如果(aValue.IntValue>10 | | aValue.IntValue<0)//有效值
{
Console.WriteLine(“谢谢!准备查找时请输入“-99”);
aValue.InValue=Console.ReadLine();//读取输入
aValue.IntValue=int.Parse(aValue.InValue);//将字符串转换为int
数字[aValue.IntValue]++;//将输入添加到相应的数组框中
}
其他的
{
WriteLine(“您输入了一个无效的值。”);

aValue.InvalidValueCount()++;//你的花括号在哪里?每当我将它们放入While循环时,它都会给我一个错误。你确实需要花括号来表示
While
if
块,否则编译器怎么知道何时开始/结束块?这不是Python,块不是由C#中的缩进决定的。你可能应该查找一些关于如何在C#中编写while/if语句的示例。我已经缩进了编译器“看到”的代码它可以帮助您理解错误。由于您没有正确使用大括号,您的else突然出现与上一个if无关的情况。无用的标题不会对其他人贡献网站的价值。我这样做了,现在我的错误如下:“无效的表达式术语‘else’”;预期(在else之后)“只能将赋值、调用、递增、递减、等待和新对象表达式用作语句”(在大括号之后,在其他表达式之前)和“递增或递减运算符的操作数必须是变量、属性或索引器”(在“aValue.InvalidValueCount()+;”之后)您不能对函数callI made aValue.InvalidValueCount()的结果使用增量运算符
++
,使其不再是一个函数,该运算符已起作用。感谢您的帮助!