C#:使用struct,List和enum;格式异常

时间:2016-02-26 22:47:10

标签: c# list exception struct enums

我有一个名为Department的enum,它有缩写。 (例如CSIS,ECON等)

我有结构课程,其中包括字段名称,课程编号(例如101计算基础知识)

我用四个参数创建了构造函数。

在Program cs中,我创建了这些课程的列表。顺序(名称(字符串),部门(我通过调用枚举中的部门类型得到这个),CourseCode(像CSIS这样的枚举成员)和信用小时)。

我被要求通过toString()打印所有课程。

    public string Name
    {
         get { return name; }
         set { name = value; }
    }

    public int Number 
    {
         get { return number; }
         set { number = value; }     
    }

    public int CreditHours 
    {
         get { return numOfCreditHours; }
         set { numOfCreditHours = value; }
    }

    public override string ToString()
    {
        return String.Format("{ -30, 0}--{4, 1}/{2}--{3:0.0#}", name,     Department, number, numOfCreditHours);
    }

这是我创建我的List的地方:在Program cs。

    static void Main(string[] args)
    {
        Course course = new Course(courses);

        foreach (Course crs in courses)
        {
            Console.WriteLine(string.Join(" , ", crs));
        }
        Console.WriteLine(); 

       //Array.Sort(courses);

       Console.ReadLine();
    }

    private static List<Course> courses = new List<Course>()
    {
         new Course("Fundamentals of Programming", Department.CSIS, 1400, 4),
         new Course("Intermediate Programming in C#", Department.CSIS,2530, 3),
         new Course("Introduction to Marketing", Department.MKTG,1010, 3),
         new Course("Algorithms and Data Structures", Department.CSIS,2420, 4),
         new Course("Object Oriented Programming", Department.CSIS, 1410, 4)
    };

我得到格式异常。我知道为什么我明白了。因为字符串类型。但有些我需要这样做。请帮我解释一下。以及如何才能做到正确。感谢。

2 个答案:

答案 0 :(得分:1)

看起来你用字符串格式交换了地方:

 return String.Format("{0,-30}--{1,4}/{2}---{3:0.0#}"

答案 1 :(得分:1)

您在"{ -30, 0}--{4, 1}/{2}--{3:0.0#}"中的格式字符串中混淆了索引。

  • "{ -30, 0}"必须为"{0, -30}"
  • "{4, 1}&#34;必须是"{1, 4}"

然后,返回必须是:

return String.Format("{0,-30}--{1,4}/{2}--{3:0.0#}", name, Department, number, numOfCreditHours);