Asp.net 如何在C中为列表对象中的数组赋值

Asp.net 如何在C中为列表对象中的数组赋值,asp.net,Asp.net,我有一个列表对象,Semesters类将Semest作为String[]类型。下面是我的代码,其中学期[1]=item.sement有错误。正确的语法是什么 public class CourseList { public int? Prog_id { get; set; } public List<Semesters> Series{ get; set; } } public class Semesters {

我有一个列表对象,Semesters类将Semest作为String[]类型。下面是我的代码,其中学期[1]=item.sement有错误。正确的语法是什么

 public class CourseList
    {
        public int? Prog_id { get; set; }
        public List<Semesters> Series{ get; set; }
    }

    public class Semesters
    {

        public string[] Semester { get; set; }   
        public string Subject { get; set; }
        public int Credit {get; set;}

    }

    [HttpGet]
    [AllowAnonymous]
    public CourseList GetCourseList(int Progid)
    {
        using (var context = new DataContext())
        {
            CourseList Obj = new CourseList();
              List<Semesters> CObj = new List<Semesters>();


            var qry = (from a in context.Courses
                       where a.Prog_id == Progid             
                       orderby a.Semester
                       select a).ToList();

            foreach (var item in qry)
            {
                Obj.Prog_id = item.Prog_id;


                if (item.Semester.ToString() == "1st Semester")
                { 
                    CObj.Add(new Semesters {Semester[1]=item.Semester, Subject = item.Subject.ToString(), Coursetitle= item.Coursetitle });

                }
                if (item.Semester.ToString() == "2nd Semester")
                {
                    CObj.Add(new Semesters { Semester[2] = item.Semester, Subject = item.Subject.ToString(), Coursetitle = item.Coursetitle });

                }


                Obj.Series = CObj;
            }

            return Obj;
        }
你说学期是一个字符串数组,所以在这个语句中

Semester[1] = item.Semester
学期是一个数组和项目。学期是一个数组

应该为学期[1]分配一个字符串,但您正在为其分配一个数组。您需要将其更改为可能的

// assign a value from the item.Semester array.
Semester[1] = item.Semester[n]

这是一种没有更多信息的可能性。

这段代码中的qry是什么?qry是一个linq查询,返回数据列表。Serm[1]=item.Serm和Serm=item.Serm在下面都有红线。无法隐式地将字符串转换为字符串[]确定。为什么公共字符串[]{get;set;}是一个数组,而不仅仅是一个字符串?在您的代码中,您从未尝试将多个值分配到数组中,因此不清楚为什么需要一个值。因为它是一个叫做学期的对象的一部分,不意味着这个对象代表一门特定课程的一个学期吗?您的数据结构有点不清楚,但似乎您的对象确实应该与Courses db表的结构的相关部分相匹配?如果您可以确认您实际要显示的结构,我可以通过编写正确的答案来帮助您。是否每个学期对象代表一个特定学期中的课程,该课程似乎是数据库中的结构,或者它是否以某种方式代表一门课程,并附有该课程安排的所有学期的附件列表,这是该课程当前似乎要做的事?数据库的结构与类的结构不匹配,需要解释。为了更好地解释我的目的,我在上面发布了更新的代码。我试着把学期分成学期数组。