如何解決System.FormatException:“索引(從零開始)必須大於或等於零,且小於參數列表的大小。”類似錯誤?

     今天邊看視頻邊寫代碼,自己寫的代碼出現這種很簡單的錯誤,嘗試自己手動調試。

     原因:1.疏忽。2.定義不清楚。嘗試自己手動調錯是進步最好的方式。

例題:登錄
            1、在Main函數中提示用戶輸入用戶名和密碼
            2、將用戶輸入的用戶名和密碼傳給你寫的IsLogin,進行判斷。
            3、如果登陸成功,則返回true,並且返回"登陸成功"。
            4、如果登錄失敗,則返回false,並且返回"到底哪錯了".
 

   

      static void Main(string[] args)

      static void Main(string[] args)
        {
            //out參數側重於在函數中返回多個值
            //out參數要去必須在方法的內部爲其賦值
          


            //登錄
            //1、在Main函數中提示用戶輸入用戶名和密碼
            //2、將用戶輸入的用戶名和密碼傳給你寫的IsLogin,進行判斷。
            //3、如果登陸成功,則返回true,並且返回"登陸成功"。
            //4、如果登錄失敗,則返回false,並且返回"到底哪錯了".

            //bool Is login()
            while (true)
            {
                Console.WriteLine("請輸入用戶名");
                string name = Console.ReadLine();
                Console.WriteLine("請輸入密碼");
                string pwd = Console.ReadLine();
                string msg;
                bool b = IsLogin(name, pwd, out msg);
                Console.WriteLine("登錄結果{0}", b);
              //Console.WriteLine("登錄信息{1}", msg); //------------>錯誤(false)
                Console.WriteLine("登錄信息{0}", msg); //------------>更正(true)
                Console.ReadKey();
            }
        }
        static bool IsLogin(string name,string pwd,out string msg)
        {
            if (name == "admin" && pwd == "123121")
            {
                msg = "登陸成功";
                return true;
            }
            else if(name == "admin")
            {
                msg = "密碼錯誤";
                return false;
            }
            else if (pwd == "123121")
            {
                msg = "用戶名錯誤";
                return false;
            }
            else
            {
                msg = "未知錯誤";
                return false;
            }
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章