我有一个名为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)
};
我得到格式异常。我知道为什么我明白了。因为字符串类型。但有些我需要这样做。请帮我解释一下。以及如何才能做到正确。感谢。
答案 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);