变量类型List <string>在对象中,如何制作此对象的列表

时间:2018-12-04 15:50:39

标签: c#

我知道这可能是一个简单的问题,但是我找不到任何东西,因为我不知道如何搜索。

我有一个名为“ ValidDay”的对象:

 public class ValidDay
    {
        public string Day { set; get; }
        public List<string> Time { set; get; }
    }

其中有一个字符串列表。

在我的主要代码上,我想像这样创建该对象的列表:

List<ValidDay> list2 = new List<ValidDay>();
List<string> hours = new List<string>();

while (condition)
{
    hours.Add(date.ToString("hh:mm tt"));
}

  list2 = new ValidDay()
  {
    Day = "Monday",
    Time = hours
   };

但是我收到“无法隐式转换类型”错误。

我该如何做?

2 个答案:

答案 0 :(得分:4)

list2是一个列表:

List<ValidDay> list2 = new List<ValidDay>();

但是您正在尝试为其设置对象:

list2 = new ValidDay() { /.../ };

不要将其设置为对象,只需将对象添加即可:

list2.Add(new ValidDay() { /.../ });

答案 1 :(得分:0)

list2List<ValidDay>,因此只能设置为List<ValidDay>。就是这样:

list2 = new List<ValidDay>
{   
    new ValidDay()
    {
        Day = "Monday",
        Time = hours
    }
};

...或将list2的类型(和名称)更改为ValidDay

您当前正在尝试将list2设置为ValidDay而不是List<ValidDay>

顺便说一句,正如@David指出的那样,在分配list2变量之前没有必要创建一个空列表。删除新的List<ValidDay>()或在while循环之后创建列表。

List<ValidDay> list2;