严重级代码描述项目文件行抑制状态
错误CS0030无法将类型'System.Collections.Generic.List'转换为'Calendar.CalendarModel'
private void findManagerForSelectedDate(String dateSelected)
{
List<String> managerNames = new List<String>();
foreach(var item in managers)
{
CalendarModel c = item;
Console.WriteLine(c.date);
}
}
基本上我想将作为参数传入的日期与“经理”列表
中的日期相匹配Managers变量声明为
private List<List<CalendarModel>> managers = new List<List<CalendarModel>>();
我的CalendarModel定义为
namespace Calendar
{
class CalendarModel
{
[JsonProperty("name")]
public string name { get; set; }
[JsonProperty("date")]
public string date { get; set; }
显然,我的代码与日期匹配尚未实现。我无法从列表中获取日期
答案 0 :(得分:1)
'managers'字段是CalendarModel列表的列表:
List<List<CalendarModel>>
但是你在foreach循环中将'CalendarModel'列表'转换为CalendarModel。
foreach(var item in managers)
{
CalendarModel c = item; // 'item' is List<CalendarModel>, but you cast it to CalendarModel.
Console.WriteLine(c.date);
}
您可以将“经理”字段的类型更改为:
List<CalendarModel> managers = new List<CalendarModel>();
或使用2个foreach循环:
foreach(var item in managers)
{
foreach(var subitem in item)
{
CalendarModel c = subitem;
Console.WriteLine(c.date);
}
}
答案 1 :(得分:0)
问题在于您的foreach循环item
属于List<CalendarModel>
类型,您可以使用另一个foreach循环来访问该列表中每个date
的{{1}}属性。
CalendarModel