c#使用有返回值的方法时,出现了一个错误,不知道怎么改

报这个错,不知道咋改

img

 class Database
    {
        private int [] accountNumber;
        private int[] PIN;
        private double[] total;
        private Database ()
        {
            accountNumber  = new int[] { 123456, 234567, 345678};
           PIN = new int[] { 654321, 765432,876543 };
            total = new double[] { 23333, 66666, 55555 };
        }
        public int Useraccount(int userAccount,int userPIN)//密码校验
        {
            int judgeNumber=1;
           for(int i=0;i<3;i++)
            {
                int m;
                m = Convert.ToInt32 (accountNumber[i]);
                if (m == userAccount)
                {
                    return judgeNumber++;
                }
                else if (PIN[i] == userPIN)
                {
                    return judgeNumber++;

                }
                else
                {
                    judgeNumber = 0;
                    return judgeNumber;
                }
                   
            }
        }

    }

方法有返回值,在每个判断分支下只改变变量值,最后统一将该变量作为return试试呢,

 class Database
    {
        private int[] accountNumber;
        private int[] PIN;
        private double[] total;
        private Database()
        {
            accountNumber = new int[] { 123456, 234567, 345678 };
            PIN = new int[] { 654321, 765432, 876543 };
            total = new double[] { 23333, 66666, 55555 };
        }
        public int Useraccount(int userAccount, int userPIN)//密码校验
        {
            int judgeNumber = 1;
            for (int i = 0; i < 3; i++)
            {
                int m;
                m = Convert.ToInt32(accountNumber[i]);
                if (m == userAccount)
                {
                    judgeNumber = judgeNumber++;
                }
                else if (PIN[i] == userPIN)
                {
                    judgeNumber = judgeNumber++;
                }
                else
                {
                    judgeNumber = 0;
                }
            }
            return judgeNumber;
        }
    }

Useraccount中,如果for循环没有执行,这个函数没有返回值,因此在for循环外面加一个return即可


 class Database
    {
        private int [] accountNumber;
        private int[] PIN;
        private double[] total;
        private Database ()
        {
            accountNumber  = new int[] { 123456, 234567, 345678};
           PIN = new int[] { 654321, 765432,876543 };
            total = new double[] { 23333, 66666, 55555 };
        }
        public int Useraccount(int userAccount,int userPIN)//密码校验
        {
            int judgeNumber=1;
           for(int i=0;i<3;i++)
            {
                int m;
                m = Convert.ToInt32 (accountNumber[i]);
                if (m == userAccount)
                {
                    return judgeNumber++;
                }
                else if (PIN[i] == userPIN)
                {
                    return judgeNumber++;
 
                }
                else
                {
                    judgeNumber = 0;
                    return judgeNumber;
                }
                   
            }

            return 0;
        }
 
    }