如何在C#中的List对象中为数组赋值

时间:2018-06-06 15:40:24

标签: asp.net

我有一个List<Semesters>对象,Semesters类的Semester类型为String[]。以下是我的代码,其中Semester[1]= item.Semester出错。什么是正确的语法?

 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;
        }

1 个答案:

答案 0 :(得分:0)

你说Semester是一个字符串数组,所以在这个陈述中

Semester[1] = item.Semester

Semester是一个数组,item.Semester是一个数组。

应为

Semester[1]分配一个字符串,但是您要为其分配一个数组。您需要将其更改为(可能......)

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

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