2 shenjie123 SHENJIE123 于 2016.03.02 14:47 提问

这两段代码,只能运行其中一段,想用if语句来判断,但不知道条件表达式该怎么写
c#
        foreach (Uers item in userGroup)      //第一段
        {
            Console.WriteLine("请输入账号");
            string idC1 = Console.ReadLine();
            Console.WriteLine("请输入密码");
            string pwd1 = Console.ReadLine();
            if (idC1.Equals(item.idC) && pwd1.Equals(item.pwd))
            {
                Console.WriteLine("请输入要取得的金额");
                double _banlance = double.Parse(Console.ReadLine());
                if (_banlance <= item.banlance || _banlance != 0)
                {
                    item.banlance = item.banlance - _banlance;
                    Console.WriteLine("余额:{0}", item.banlance);
                }
                else
                {
                    Console.WriteLine("金额输入有误!请重新输入");
                }
            }
            else
            {
                Console.WriteLine("密码输入有误!请重新输入");
                drawmoney();
            }

        }

        /* Console.WriteLine("请输入账号");      //第二段
         string idcc = Console.ReadLine();
         Console.WriteLine("请输入密码");
         string _pwd = Console.ReadLine();
         if (idcc.Equals(u.idC) && _pwd.Equals(u.pwd))
         {
            Console.WriteLine("请输入要取得金额");
            double _banlance = double.Parse(Console.ReadLine());
            if (_banlance <= u.banlance || _banlance != 0)
            {
                u.banlance = u.banlance - _banlance;


                Console.WriteLine("余额:{0}", u.banlance);

            }
            else
            {
                Console.WriteLine("金额输入有误!请重新输入");
            }

         }
         else
         {
             Console.WriteLine("密码输入有误!请重新输入");
             drawmoney();
         } */

2个回答

xianfajushi
xianfajushi   2016.03.02 16:59
已采纳

代码类似的可以写为一个方法然后传参数即可

enpterexpress
enpterexpress   2016.03.02 15:21
 string idcc, _pwd;
            do
            {
                Console.WriteLine("请输入账号");
                idcc = Console.ReadLine();
                Console.WriteLine("请输入密码");
                _pwd = Console.ReadLine();
                if (idC1.Equals(item.idC) && pwd1.Equals(item.pwd))
                {
                    Console.WriteLine("请输入要取得金额");
                    double _banlance = double.Parse(Console.ReadLine());
                    if (_banlance <= u.banlance || _banlance != 0)
                    {
                        u.banlance = u.banlance - _banlance;
                        Console.WriteLine("余额:{0}", u.banlance);
                    }
                    else
                    {
                        Console.WriteLine("金额输入有误!请重新输入");
                    }
                }
                else
                {
                    Console.WriteLine("密码输入有误!请重新输入");
                    drawmoney();
                }
            } while (!idC1.Equals(item.idC) && pwd1.Equals(item.pwd));
SHENJIE123
SHENJIE123 回复有_道_是: 你第一个if语句编译就不会通过,没定义这个变量。情况是这样的,我在数组里添加了一些初始化数据,所以第一段代码是为了遍历数组里的数据做出相应的修改,但是我还有一个情况就是我的数据是新添上去的,所以数组中是遍历不到的,所以我得用第二段代码
接近 2 年之前 回复
enpterexpress
enpterexpress 回复SHENJIE123: 那里不对,请指明
接近 2 年之前 回复
SHENJIE123
SHENJIE123 谢谢,不过不对
接近 2 年之前 回复
SHENJIE123
SHENJIE123 谢谢,不过不对
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!