我知道这可能是一个简单的问题,但是我找不到任何东西,因为我不知道如何搜索。
我有一个名为“ 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
};
但是我收到“无法隐式转换类型”错误。
我该如何做?
答案 0 :(得分:4)
list2
是一个列表:
List<ValidDay> list2 = new List<ValidDay>();
但是您正在尝试为其设置对象:
list2 = new ValidDay() { /.../ };
不要将其设置为对象,只需将对象添加即可:
list2.Add(new ValidDay() { /.../ });
答案 1 :(得分:0)
list2
是List<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;