System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小

Posted

技术标签:

【中文标题】System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小【英文标题】:System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list 【发布时间】:2016-07-03 04:58:22 【问题描述】:

错误:mscorlib.dll 中出现“System.FormatException”类型的未处理异常

附加信息:索引(从零开始)必须大于或等于零且小于参数列表的大小。

namespace Inheritance

    abstract class Airlines
    
        public int Aid;
        protected string Aname, DOD, ToAdd, ToFrom, FromAdd;
        protected float Cost;
        public void Accept()
        
            Console.WriteLine("Enter the Aid,Aname");
            Aid = Convert.ToInt32(Console.ReadLine());
            Aname = Console.ReadLine();
            Console.WriteLine("Enter DOD,ToAdd,FromAdd");
            DOD = Console.ReadLine();
            ToAdd = Console.ReadLine();
            FromAdd = Console.ReadLine();
            Console.WriteLine("Enter the  Cost");
            Cost = Convert.ToSingle(Console.ReadLine());
        

        public abstract void DisplayInfo();
        public abstract void facility();
    
    abstract class SpiceJet : Airlines
    
        string PaymentMode;
        public void AcceptData()
        
            //Console.WriteLine("Welcome");
            Accept();
        

        public void payment()
        
            Console.WriteLine("Enter The Payment Mode =");
            PaymentMode = Console.ReadLine();

        
        public override void DisplayInfo()
        
            Console.WriteLine("Aid id :0,Aname is:1,DOD is :2,ToAdd is:3,FromAdd is :4,Cost is :5,PaymentMode is :6", Aid, Aname, ToAdd, FromAdd, Cost, PaymentMode);

        
        public abstract void typeclass();

    
    class SpiceJetchild : SpiceJet
    
        public override void facility()
        

        
        public override void typeclass()
        

        
    
    class Program
    
        static void Main(string[] args)
        

            //Airlines a = new Airline();
            //SpiceJet sj = new SpiceJet();
            SpiceJetchild sj = new SpiceJetchild();
            sj.AcceptData();
            sj.payment();
            sj.DisplayInfo();
            sj.facility();
            sj.typeclass();
            Console.ReadKey();
        
    

【问题讨论】:

【参考方案1】:

这一行:

Console.WriteLine("Aid id :0,Aname is:1,DOD is :2,ToAdd is:3,FromAdd is :4,Cost is :5,PaymentMode is :6", Aid, Aname, ToAdd, FromAdd, Cost, PaymentMode);

您指定了 7 个项目,但您只提供了 6 个。

【讨论】:

谢谢 Otavio。你能给我推荐一本关于 C# 基础和编程的最佳书籍吗。提前谢谢。 amazon.com/C-Depth-3rd-Jon-Skeet/dp/161729134X/…很难出错

以上是关于System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小的主要内容,如果未能解决你的问题,请参考以下文章

无法启动 Kestrel。 System.FormatException:无效的 URL:'http:////*:80'

数组中的“System.FormatException:'输入字符串格式不正确”错误

DatePicker System.FormatException

SQL Server 地理 STGeomFromWKB 错误 - System.FormatException:24201

System.FormatException:24201:纬度值必须在 -90 到 90 度之间

aspose 单元格工作簿引发了“System.FormatException”类型的异常