public void login()
        {
            int[,] sql = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
            Console.WriteLine("欢迎使用建设银行提款机");
            start_1:
            Console.WriteLine("请输入您的账号");
            int username = int.Parse(Console.ReadLine());
            //验证账号
            for (int i = 0; i < sql.GetLength(0); i++)
            {
                if (username == sql[i,0])
                {
                    Console.WriteLine("账号正确");
                    goto start2;
                    //break;
                }
                else
                {
                    if (i == sql.GetLength(0) - 1)
                    {
                        Console.WriteLine("账号错误");
                        goto start_1;
                    }
                }
            }
            //验证密码
            start2:
            Console.WriteLine("请输入您的密码");
            int password = int.Parse(Console.ReadLine());
            for (int i = 0; i < sql.GetLength(0); i++)
            {
                for (int k = 0; k < sql.GetLength(1); k++)
                {
                    if (password == sql[i, k])
                    {
                        Console.WriteLine("密码正确");
                        break;
                    }
                    else
                    {
                        if (k == sql.GetLength(1) - 1)
                        {
                            Console.WriteLine("密码错误");
                        }
                    }                }
            }
这次怎么输入正确的密码后发现控制台出现密码正确,密码错误,密码错误,该怎么改正这块了  else
                    {
                        if (k == sql.GetLength(1) - 1)
                        {
                            Console.WriteLine("密码错误");
                        }
                    }

解决方案 »

  1.   

    public void login()
    {
        var userdata = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
        Console.WriteLine("账号正确");
        int username = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("请输入您的密码");
        int password = Convert.ToInt32(Console.ReadLine());
        if (userdata.Any(x => x[0] == username && x[1] == password))
            Console.WriteLine("密码正确");
        else
            Console.WriteLine("密码错误");
    }
      

  2.   

     else
                        {
                            if (k == sql.GetLength(1) - 1)
                            {
                                Console.WriteLine("密码错误");
                            }
                        }
    我想改这里面的!
      

  3.   

    修改下
                var userdata = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
                Console.WriteLine("请输入您的账号");
                int username = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("请输入您的密码");
                int password = Convert.ToInt32(Console.ReadLine());
                if (userdata.Cast<int>().Select((i, x) => new { i, x }).GroupBy(x => x.i / 2, (k, e) => new int[] { e.First().x, e.Last().x }).Any(x => x[0] == username && x[1] == password))
                    Console.WriteLine("密码正确");
                else
                    Console.WriteLine("密码错误");